はじめに
皆さん、Googleフォームとスプレッドシートを連携させて、
フォームからの回答をスプレッドシート上で簡単に分析できることはご存じですよね?
本記事はフォームとスプレッドシートを連携させて、回答内容を分析しようとしたときのことを記事にします。
フォームとスプレッドシートの連携手順について
※既に連携方法がご存じの方は読み飛ばしてください
フォームとスプレッドシートの連携手順を記載します。
連携をさせるとフォームで回答した内容がスプレッドシートに1回答1レコードとして追加されるようになります。
それによってスプレッドシートで関数を用いれば簡単に回答の集計や分析を行うことが出来ます。
【連携手順】
まず、Googleフォームにアクセスします。
上のプラスマークから新規作成できます。
これで新しく作成された空っぽのフォームが表示されます。
次に、[回答]タブから [スプレッドシートにリンク] をクリックします。
[回答の送信先を選択]というウィンドウが表示されるので
「新しいスプレッドシートを作成」にチェックが入っていることを確認し、[作成]をクリックします。
もし、ここで既にスプレッドシートを作成していて、そちらに連携させたい場合は
下の「既存のスプレッドシートを選択」にチェックを入れ、連携させたいスプレッドシートを選択します。
これで回答の連携先のスプレッドシートの準備が完了しました。
では実際に質問項目を作成し、送信してみます。
質問項目の作成方法については割愛しますが、非常に簡単にアンケートや投票、テストなどが作成可能で
感覚的に作れますので、どなたでも簡単に作成することが出来ます。
早速、「豚骨」「バリカタ」で送信します。
スプレッドシート側には「タイムスタンプ」とGoogleフォーム側で設定した質問がカラムとして表示されます。
そして、回答した内容が連携されたことが確認できます。
スプレッドシートでの分析
ある程度回答が集まったところでD2セルに以下の数式を入れたとします。
=IF(B2="豚骨",IF(C2="バリカタ","気が合うや~ん","豚骨ならバリカタやろ!"),IF(B2="","回答待ち","そっち派か…"))
好きなラーメンが豚骨ラーメン且つ麺の固さがバリカタだった場合「気が合うや~ん」という文言を表示し、
好きなラーメンが豚骨ラーメンで麺の固さがバリカタ以外だった場合は「豚骨ならバリカタやろ!」という文言を表示し、
好きなラーメンが豚骨ラーメン以外だった場合は「そっち派か…」という文言を表示し、
また回答がない行に対して分かりやすく回答待ちと表示させる数式をD2に入れ、D列全体にコピーします。
こうすることで回答があった場合にすぐに分析が出来る!
と思いきや、新しい回答があった場合スプレッドシートは以下のようにD6に数式が入っていない状態になります。
Googleフォーム上で回答があった場合、スプレッドシートには回答された行が追加となるので
せっかく入力した数式も意味をなさなくなってしまいます。
結論として、フォームからの回答が入力されていくシートには数式など入れない方が良いかと思います。
QUERY関数について
もし、フォームの回答に対して数式を追加したい場合はQUERY関数を使って別シートにデータを抽出することをオススメします。
QUERY関数はスプレッドシート独自の関数になっており、SQLのSELECT文のような形でデータを抽出することが可能です。
使い方
別シートを作成し、A1に以下の数式を入力します。
=QUERY('フォームの回答'!A:C,"SELECT * ")
そもそも不要な列や行を表示させたくない場合はQUERY関数をクエリを変更することで抽出条件を変更できます。
=QUERY('フォームの回答'!A:C,"SELECT B,C WHERE B = '豚骨'")
これでD列に分析するための数式を追加すれば、フォームから新しい回答が来ても問題なく計算することが出来ます。
まとめ
今回はフォームとの連携においてQUERY関数を紹介させていただきましたが、
QUERY関数は非常に便利な関数なのでスプレッドシートを使うことが多い方は是非使ってみてください。