こんなお悩みを解決したい方、いらっしゃいませんか?
・紙でアンケートをやり取りするのが大変、スマホやPCから記入できるようにしたい
・毎月同じようなアンケートフォームを作るのが大変
・アンケートの集計を自動でしたい・・・
Google Apps Script を使えば、スプレッドシートに必要事項を入力して、一発でアンケートフォームを作れちゃいます。さらに、Google Apps Scriptでは、そのGoogleフォームを操作することもできます!
ということで、
今回は、Google Apps Script (GAS) と Googleフォーム を使ってアンケートフォームの自動作成を試してみたいと思います。
(ソトミルのデータ分析基盤導入の前に、お客様がFAXで集計していた・・・のを見かねて作っちゃったのは内緒)
目次
Google Apps Script (GAS) とは?
Google Apps Script とは、Googleが提供しているプログラミング言語です。頭文字をとってGAS(ガス)とも呼ばれています。JavaScript をベースに作られているので、JavaScript とほぼ同じ文法でプログラムを書くことができます。さらに、Googleのアカウントがあれば無料で使うことができます。
GmailやGoogleカレンダー、Googleドライブなど、Googleの様々なサービスと組み合わせれば、非常に多くの業務を効率化することができます。
たとえば・・・
・Googleカレンダーの予定を自動で登録・編集する
・Googleスプレッドシートの内容を元にGmailでメールを送信する
・Googleフォームを自動で作成する
・Googleフォーム上で指定したアドレスにフォームの内容を自動送信する
・スクレイピングで収集したデータをGoogleスプレッドシートに登録する
<GASの注意点>
GASには、実行時間の制限があります。スクリプトの実行時間は一回当たり最大6分。
カスタム関数の実行時間は1処理あたり最大30秒と定められています。
Googleフォームとは?
Googleが無料で提供するオンラインのフォーム作成ツールです。
フォームの作成にはGoogleアカウントが必要ですが、回答するだけであればアカウントは必要ありません。誰でも気軽にパソコンやスマートフォンから回答できます。
スプレッドシートに記入した内容をもとに、アンケートを自動作成する
まずは、このようなスプレッドシートを用意します。
・「概要シート」にアンケートのタイトル、概要を入力します。
・「質問シート」にアンケートの質問や記述式・ラジオボタンなどの質問形式、選択肢を入力します。
つぎに、[ 拡張機能 ] から Apps Script を開きます。
そして、function { } の中にコードを記述します。

では、実行します! ※初回の実行には認証が必要です。
実行すると・・・
Googleドライブのマイドライブに、フォームが作成されます!
共有用のURL からフォームを開くと、スプレッドシートで設定した内容に基づいて作成された、下図のようなアンケートフォームが表示されます。
※編集用URLと共有用URL は、 概要シートの B4、B5セルに出力されています。
よく使うクラスとメソッドのまとめ
質問形式 | クラス名 | メソッド |
記述式 | TextItem | addTextItem |
段落記述式 | ParagraphTextItem | addParagraphTextItem |
ラジオボタン | MultipleChoiceItem | addMultipleChoiceItem |
チェックボックス | CheckboxItem | addCheckboxItem |
プルダウンリスト | ListItem | addListItem |
行列型のラジオボタン | GridItem | addGridItem |
行列型のチェックボックス | CheckboxGridItem | addCheckboxGridItem |
ページの切り替え | PageBreakItem | addPageBreakItem |
日付 | DateItem | addDateItem |
時刻 | TimeItem | addTimeItem |
日付と時刻 | DateTimeItem | addDateTimeItem |
さらに詳しくは、こちらを参照ください。
Google Apps Script リファレンス – Google forms
まとめ
Google Apps Script と Googleフォームを使って、一発でアンケートフォームが作成できるなんて便利ですね!
しかもGoogleアカウントさえあれば すべて無料 で作れてしまうなんて、お財布にも優しいですね。