このページの本文へ

Googleフォームで作る無料アンケート集計システム (2/4)

2014年05月01日 11時00分更新

文●掌田津耶乃

  • この記事をはてなブックマークに追加
本文印刷

スクリプトを作成する

 続いて、セミナーの参加者に対して、アンケートへの回答を依頼するメールを送ります。前回のセミナー申し込みフォームの回答を記録してあるスプレッドシートを開き、「ツール」メニューから「スクリプトエディタ...」メニューを選びます。

フォームの内容を記録したスプレッドシートから「スクリプトエディタ...」メニューを選ぶ

 スクリプトエディタが現れたら、リスト1の関数を記入してください。すでに書いたスクリプトはそのままにしておき、スクリプトの末尾に追記しましょう。

リスト1


function sendQuestionnaire() {
  var spreadsheet = SpreadsheetApp.openById('☆スプレッドシートのID☆');
  var sheet = spreadsheet.getSheets()[0];
  var sheet2 = spreadsheet.getSheets()[1];
  var rowcount = sheet.getLastRow();
  var namedatas = sheet.getRange(2, 4, rowcount).getValues();
  var emaildatas = sheet.getRange(2, 6, rowcount).getValues();
  var checkrowcount = sheet2.getLastRow();
  for(var i = 0;i < emaildatas.length;i++) {
    for(var j = 2;j <= checkrowcount;j++){
      if (sheet2.getRange(j,1).getValue() == namedatas[i][0]){
        if (sheet2.getRange(j,2).getValue() == '出席'){
          var message = '<html><body><p>'
          + namedatas[i][0] + '様<br><br>'
          + 'この度は弊社主催のセミナーにご参加いただき'
          +'誠にありがとうございました。<br>'
          + 'つきましては、先のセミナーに関するアンケートに'
          + 'ご協力いただけますでしょうか。<br><br>'
          + '※ご協力いただけます場合は、<a href="☆フォームのURL☆">こちら</a>をクリックしてください。'
          + '<br><br>――――――――<br><br>'
          + '【セミナー運営事務局】<br>'
          + '株式会社●●●マーケティング 担当:吉田<br>'
          + '電話番号 00­1234­5678<br>'
          + 'メール info@●●●.com</body</html>';
          MailApp.sendEmail({
            to: emaildatas[i][0],
            subject: 'セミナーアンケートのお願い', 
            htmlBody: message
          });
        }
      }
    }
  }
}

 「スプレッドシートのID」の部分には、フォームのデータを保存しているスプレッドシートのIDを指定します(IDの取得に関しては前回の記事を参照)。また、「フォームのURL」の部分には、先ほどコピーしておいたフォームのURLをペーストしてください。

 なお、このサンプルは、前回作成したセミナーフォームに合わせて、名前のデータが「D列」、メールアドレスのデータが「F列」にそれぞれ保存されている前提で記述しています。フォームの形式が異なっている場合は、// ☆の文に記述されているgetRangeの第2引数の値(4と6)を、それぞれのデータが保存されている列番号に変更してください。

 このスクリプトは、指定のスプレッドシートからメールアドレスと名前を取得して、順にメールを送ります。宛先の名前とメールアドレスが違うだけで、内容はすべて同じです。

 メールの送信処理は、前回紹介した「HTMLメールの送信」を使っています。メールの内容は変数message にまとめており、ここでフォームへのリンクを表示しています。送信するメールの内容はmessageを変更すればカスタマイズできます。

イベントトリガーを設定する

 セミナーが終了した後にアンケートに回答してもらうため、イベントトリガーを使い、イベントの翌朝にメールを送信します。スクリプトエディタの「リソース」メニューから「現在のプロジェクトのトリガー」を選んでください。

「現在のプロジェクトのトリガー」メニューを選ぶ

 ダイアログには、前回作成したトリガーがすでに表示されているはずです。「新しいトリガーを追加」リンクをクリックし、「sendQuestionnaire」「時間主導型」「特定の日時」と選択してください。その下の入力フィールドに、送信する日時を記入します。例えば、2014年7月8日の午前7時に送る場合、「2014-07-08 07:00」となります。

新しいトリガーを作り、特定の日時にsendQuestionnaireを実行するように設定する

 これで、セミナーの翌朝にアンケートの依頼メールを自動送信するようになります。保存すると、アクセスの許可を求める画面が現れますので、許可してください。

アンケートの集計について

 Googleフォームには自動集計機能が用意されているので、集まったアンケートは簡単に集計できます。先ほど作成したGoogleフォーム「セミナーアンケート」を開き、「回答」メニューから「回答の概要」を選んでください。

Googleフォームから「回答の概要」メニューを選ぶ

 新たにブラウザーのウィンドウが開き、フォームの集計結果がグラフで表示されます。「分析を公開」リンクをクリックすれば、結果をそのまま公開できます。公開にすると、アンケート回答後に集計結果のページヘのリンクが表示され、回答した人がそのまま見られます。

アンケート回答の概要。円グラフでビジュアルに表示される

この連載の記事

一覧へ

この記事の編集者は以下の記事をオススメしています