GoogleFormを使えば無料でアンケートを作成できます。
使いやすくするためには少しスクリプトを記述する必要がありますが、そこさえクリアできれば簡単に便利なGoogleアンケートを作成できます。
今日は、テスト形式のアンケートについてフォームの作成から自動送信までをご紹介します。

ちなみに当サイトでも実際にアンケートを実施しました。こちらはメール送信機能はありませんが、ご自由にご覧ください。
https://50blog.org/questionnaire-2/
もくじ
Googleアンケートを作る
テンプレートからアンケートフォームを作成する
まずはGoogleにログインし、Gooleドライブから新規にフォームを作成しましょう。
今回はテスト形式なので、「評価テスト」を選びます。
アンケートの設問を設定する
今回はアンケート項目(テストの設問)は10項目、テストの回答以外に取得したい項目は所属部署・名前・メールアドレスと想定しました。
個人情報保護のテスト項目については「個人情報保護対策支援サイト」の「個人情報保護理解度チェック(入門編)」から出典させていただいています。個人情報保護について知識はフリーランスの方にとっても非常に重要です。
テスト項目を設定します
①今回ラジオボタンとしていますが、設問の説明が短ければ「選択式(グリッド)」もおすすめです。今回は各設問の文章が長かったため、ラジオボタンを選択しました。
②各設問の回答は必須とします。
③をクリックすると☑説明を選択できるので長い文章は説明欄に記入することにします。
設問が後にデータを格納する際の項目名となります。
設問の文章は後で変更する可能性もありますので設問名は【問1】、文章は「説明」に記入する方がベターです。
回答集を作成する
◆点数を設定します。この点数の合計がスコアになるので何点満点にするか、各設問に重み付けをするかなどを考えながら配点を設定します。
◆正しい回答はどちらなのか設定します。
◆【回答に対するフィードバックを追加】の欄には「正解だった時」または「不正解だった時」に表示する文章を登録できます。
以下が、最終のスコア表示の時に表示される画面です。このフィードバック部分の設定になります。すごく便利ですね!
テスト項目画面の⑤は設定された正解の方に☑がついていますので、間違って設定していないか確認しましょう。
テスト項目以外の設問を設定する
テンプレートの設問は最初に名前・メールアドレスとありますが個人的には回答してもらってから名前を取得する方が回答率が上がると思うので、名前とメールアドレスは最後の方に移動しました。
所属部署はプルダウンメニュー、氏名は記述式としています。
最後のメールアドレスも記述式としていますが、こちらは入力チェックを追加で設定します。
①をクリックし【回答の検証】を選択すると②の部分が表示されます。
テキスト→メールアドレスと選択することで、メールアドレスが正しい形式で入力されているかチェックをすることができます。(xxx@xxxの形式)
自動返信のスクリプトを作成する
回答をスプレッドシートで表示します。
まだスプレッドシートがなければ作成するダイアログが表示されるので新規に作成してください。
次にスクリプトエディタを開きます。
開いたときに数行表示されているスクリプトは不要なので、以下のプログラムをコピーして置き換えてください。
簡単に何をしているのか説明すると、タイトル(title)と本文(bodyとbody2)を用意し、それぞれに文字をセットしてメール送信(sendEmail)しています。
ちょっと説明が雑ですね。では、もう少し細かく・・・。
タイトルをセット
タイトル(title)は3行目でセットしているだけです。希望の文章に適宜書き直してください。
本文の初期設定
本文はbodyとbody2の2つに分けて設定します。body2はフッター部分になります。
初期値として、bodyには7行目から12行目までで文章をセットしています。
body2には14行目から16行目まででフッター文章をセットしています。
GoogleAppScriptでは文字列を結合する演算子は「+」です。文章が長くなる場合はこのようにそれぞれ分けてセットした方が見やすいプログラムになります。
また、文字列の最後の「\n」は改行コードです。「\n\n」で2行改行(改行した後更に1行空行を挿入)となります。
本文の作成
18~20行目
ここからが本文作成の本丸です!18~20行目では後で使う変数を初期化しています。addressは宛先メールアドレス、scoreはトータルスコアをセットします。
22~25行目
これから処理するスプレッドシートの情報を取得しています。具体的にはシート名・行・列・範囲です。これはお約束の記述なので特に気にしなくても大丈夫です。
28~61行目
for(){}文で列を1つずつ移動しながら各列の値を取得していきます。取得した値は項目名とセットで本文(body)につなげていきます。
その過程で項目名がメールアドレスまたはスコアだった場合は、先に定義しておいた変数に値を代入します。
タイムスタンプ | タイムスタンプという項目名が分かりにくいので「回答日時」に変更します。 ■回答日時 Sun Jun 24 2018 12:18:55 GMT+0900(JST) ※日時表記が気になる人は以下のコードを追加して表示書式を整えてください。 if ( item === '回答日時' ) { value = Utilities.formatDate(value, 'Asia/Tokyo', "YYYY'年'MM'月'dd'日'HH'時'mm'分'ss'秒'"); } |
---|---|
スコア | score変数に値を代入します。 ■スコア 7 |
【問1】~【問10】 | ■【問1】 YES |
所属部署 | ■所属部署 営業 |
名前 | 名前についてはbody変数の後ろに結合するのではなく、名前の後にbodyとなるように結合します。 ■名前 山田太郎 様 |
メールアドレス | address変数に値を代入します。 ■メールアドレス aaa@aaa.jp |
63~78行目
今回は総評をセットしています。スコアに応じて3段階の総評があります。
配点や評価内容によって分岐を増やしたり文章を編集したり、自由に設定してみてください。特に必要な部分ではないので必要がなければ削除してください。
最後に81行目で本文(body)とフッター文(body2)をつなげて本文が完成です。
メール送信
最後に取得したaddress変数を宛先に、タイトル(title)、本文(body)を引数としてメールを送信して完了です。
作成したスクリプトを設定する
次に、作成したスクリプトを実行する設定をします。(トリガーと呼びます)
時計アイコンをクリックしトリガーを表示します。未設定なので上記の画面となります。
今すぐ追加でトリガーを設定します。
- 実行:先ほど作成したスクリプトの名称(function名)を設定
- イベント:スプレッドシートからフォーム送信時
保存で完了ですが、初めて設定するときには以下の警告メッセージが表示されることがあります。
この場合は、「詳細」をクリックして処理を続行します。
「許可」をクリックしてください。以上ですべての設定が完了しました。
早速アンケートフォームを公開(起動)してみましょう!
Googleアンケートを開く
フォーム編集画面の右上の「送信」ボタンをクリックすると以下の画面が表示されます。
アンケートの回答をメールでお願いする場合はメールアイコンですが、ここではURLを取得することにします。リンクアイコンをクリックしましょう。
作成したGoogleアンケートのURLが表示されています。
コピーをクリックするとURLがクリップボードにコピーされます。
URLを短縮にチェックをいれると長い長~いURLが少し短くなります。
上記はサンプルのGoogleアンケートフォームです。ご自由に使ってみてくださいね。
まとめ
Googleアンケートフォームは会社で1年程前に導入しました。色んなシーンで役に立ちますし、何より必要な時にすぐに作成できるところが魅力です。
GoogleAppScriptはそんなに難しい言語でもないので、プログラム初心者の方にも取り組みやすいかと思います。
プログラムを書く部分はメールの送信の部分だけですし、入力部分・出力部分は簡単な設定だけでできてしまいます。困っている誰かに設定してあげられるとちょっと株が上がるかと♪
ちなみにGoogleFormで作成したフォームのスクリプトを変更することはできません。今のところ、GoogleAnalyticsなどでフォームのアクセス解析をすることはできないようです。この点はちょっと残念です。