結婚式二次会のクイズをGoogle FormとGASで運用した話
経緯
とても良くしていただいている先輩に結婚式の二次会の幹事を頼まれました。
先輩のためならお任せあれ!!٩( 'ω' )و
ということで、余興としてクイズをやることになりました。
- 参加者: 約80名
- クイズの数: 計5問(三択式×4問, 記述式×1問)
- 回答方法: 設問ごとに各自がスマホから回答
- 景品: 最終的に上位10名に景品アリ
ちなみに景品はここで選んだらとてもラクだった
クイズ作り
三択問題を4問と、記述式の問題を1問作成し、それをスライドにまとめたものを用意しました。こんな感じで
具体的には、新郎新婦へのインタビュー動画を撮影し、その受け答えの一部を問題にしました。
編集中に「ウッ」っとなるくらいラブラブな動画が撮れて満足しました。
回答フォームの準備
各自にスマホから回答させたいということで、回答フォームをGoogle Formsで作成しました。Googleフォームはアンケートを作成できるサービスです。
1〜3番までのラジオボタンがついた形式のフォームを4つと、記述形式で回答できるフォームを1つ作りました。
しかし、「誰が」「どの」回答をしたのかを記録するためには、ログインしてもらう必要があります。慌ただしい二次会でログインなんかやってられません。。
ということで、力技なんですが・・・各フォームの質問の1つ目として「あなたのお名前は?」という項目を用意し、プルダウンから自分の名前を選択してから回答してもらうようにしました。
・・・事前にプルダウン形式で出席者全員の名前を用意しておかなければいけないという意味ですが、出席者のリストさえあればコピペで一気に貼付けられたのでそこまで手間ではなかったです。
集計スクリプトの準備
先述のGoogleフォームでの回答を集計するためのスクリプトを、Google Apps Sctiptで作成しました。
これで、そのフォームの回答が入ってくるシートが作成されました。(シートを作成した後に回答しても、リアルタイムでシートが更新されます)
このスプレッドシートに、集計用のスクリプトを加えていきます。
- シート上部の「ツール」タブ選択
- 「スクリプトエディタ」を選択
これで集計用スクリプトを書く準備が整ったので、書いていきます。
実際に動かしたスクリプトはこちらです↑
- 選択式問題の正解者抽出
- 記述式問題の正解者抽出
- 5問分の正解者の合計得点集計
の3つのスクリプトで運用しました。全然特別なことはやっていません。。
var records = sheet1.getRange(2, 1, recordNum, 3).getValues();
先ほどのフォームでの回答はこのrecordsの中に入ってきます。
1列目の2行目を始点にして、3列分の幅をrecordNum(大体80)取得しています。2次元配列で取れます。
Logger.log(records);
GASでもログは出力できるので便利です、出力内容は⌘+Enterで確認できます。
クイズ回答用サイトの準備
上記の回答フォームへのリンク5問分を貼り付けたサイトを用意し、当日にそのサイトをQRコードで読み込んでアクセスしてもらうことにしました。
サイトはAmeba Owndを使って、よい感じのやつを作っておきました。
運用
当日!
二次会受付でサイトのQRコードを印刷した紙を配っておき、クイズに臨みました٩( 'ω' )و
クイズ中にやったことは、
- 皆の解答が始まったらgoogleフォームの解答タブを見つめる
- 大体の人が解答し終わったら回答を締め切る
- 吐き出されたスプレッドシートでスクリプトを実行
- 1〜3を5問分繰り返す
- 5問目が終わったら結果を1つのファイルにまとめて合計用スクリプトを実行
- 10位までの人をスライドにまとめて発表
googleフォーム、回答タブ見つめてる間にどんどん結果が更新されていって面白かった...。円グラフで見れるので、正解率がよく分かりました。こんな感じでした。
1個目の名前の回答がすごいことになったw(スプレッドシートで使いたいだけのデータなので問題なしです)
おわり
本当はこんなことをせずに、クイズ用アプリを使う手とかもあったんですが、インストールしてもらう手間とか、サービスが有料だったりでつらかったので、自分でどうにかしましたっていう話でした...!m(. . )m
まぁこんなどう集計したかなんて置いておいて、クイズ自体をちゃんと面白がってもらえてたようなのでよかったです〜
そして何より先輩おめでとうございました^∀^