ギター歴50時間目に突入しました、山田です。
今回は、意外と知られていないGoogleフォームとGoogleスプレッドシートの活用事例をご紹介します。ずばり、記録したい時間を入力・送信するだけで、月ごとの時間を勝手に集計してくれる『時間管理アプリ』を作りながら、それぞれの使い方を紹介していきます!
こちらの記事を読むことで、
といったメリットがあるので、ご興味ある方はぜひご一読ください。
目次
Googleフォームとは、誰でも超お手軽にアンケートフォームを作成・共有できる無料のソフトです。
超簡単にフォームが作成できる!
例えば、急ぎでユーザーアンケートを取るときなどは重宝します。なんせ無料ですし、初めて触っても作れちゃうほど簡単ですので。他にもこんな感じの予約フォームとしても便利です。
なお、送信された回答は自動生成されるスプレッドシートへ勝手に蓄積していくので、データの管理・加工も非常に楽です。今回の記事では、この辺りの内容が含まれます。
Googleスプレッドシートとは、いわゆるExelに代表される表計算ソフトですが、最高なのはクラウド上で管理されており、アクセスしたユーザーが多人数で同時に編集可能という点です。
作り込めばチームの勤怠管理表も楽チンに!(*数値はフェイクです)
チームのメンバー同士で会議しながら数字を共有したり、そのままプレゼン資料にしたりなど、活用方法は無限大です。
今回はフォームから送信された回答データを数式で処理することで、回答送信→レポーティングまでを自動化する方法に触れていきます。
私と言えばスプレッドシート大好き芸人として有名ですが、実はフォームの方もよく活用しています。しかし、やはり日常の業務における活用シーンが多いのは前者でして、フォームの方はあまり取り沙汰されない印象です。
なので、今回ご紹介するのは「こんなアプリあればいいのにな〜」という消費者目線から「よし、Googleフォームで実装しちゃおう!」という開発者目線までを個人で完結できる最高のツールとして、このGoogleフォーム・Googleスプレッドシートをご紹介していきます。
今回は題材として『時間管理アプリ』を取り上げますが、これはあくまで趣味でギターを弾き始めた私が「練習時間を手軽に記録できないかな〜」と思い作ったものなので、ほんの一例にすぎません。
あなたには、何か解決したいお悩みはありますか?
今回、この記事を読んでいただくことで、「私がやりたかったこんなこと、Googleフォームで解決できるじゃん!」という気付きに繋がればこれ幸いです。
今回は次の手順で解説していきます。
非常に簡単かと思いましたが、ちょっと理屈っぽい「準備編」は後回しでも構いません。
まずは仕様を決めます。これは世にあるどんなアプリでも必ず最初に着手される工程で、要するに設計図を描く作業のことです。
ポイントは、既に述べた「こんなアプリがあればいいのにな〜」というお悩みを、より具体的に「こうなって、そうなって、ああなったらOK」といった具合に分解するイメージです。なので、まずは〈完成形〉を具体的にイメージし、それが実現するために必要な〈手順〉を書き出すことから始めましょう。
フォームにギターの練習時間(分数)と、必要に応じてメモを入力し、送信ボタンを押すことで【1】、月別および通算の練習時間(時間数)が、合計値および平均値で表示される【2】。
大きく分け、上記【1】【2】をそれぞれ制作していく。
【1】=入力(インプット)部分としてGoogleフォームを作成する。
【2】=出力(アウトプット)部分としてGoogleスプレッドシート上にレポートを作成する。
Googleドライブ(任意のフォルダ)
→新規作成(ボタン)
→→その他
→→→Googleフォーム(ボタン)
この操作で、今いるドライブ内に「無題のフォーム」というファイルが新規作成されます。
今後はこのファイルにアクセスすることで、フォームを編集することができます。
フォームの編集画面では、主にタイトルと各質問を作っていきます。
こちらの画像A〜Eの箇所について、それぞれ解説していきます。
実際の『時間管理アプリ』では、次のように指定しました。
なお、Eの段階では「その質問が必須かどうか?」の指定箇所がありますので、「必須ボタン」をONにすることで、空欄での回答を禁じることもできます。
これで作成自体は完了。たったの2ステップでした、とっても簡単ですよね!
最後に、実際の回答フォームと回答データが送信されるスプレッドシートの場所ですが、FがフォームURL、Gが回答データの送信先スプレッドシートとなります。次の「出力編」では、このスプレッドシートを編集していきます。
「入力編」の最後に準備した回答用のスプレッドシートを開き、レポートを作成するためのシートを新規追加します。
新規追加は下記画像のAをクリックするとできます。
その他、A〜Eの部分の説明は次の通りです。
可視化したかったデータ、すなわち「月別および通算の練習時間(時間数)の合計値および平均値」を表すレポートの概形を作成します。
下記画像の通りで、要するにレポートの見た目だけを作り込みます。この段階ではまだ数式が入っていないため、回答が送信されてもレポートは空白のままですね。
こうしたレポートを作り馴れていないという方は、こちらの画像をそのまま真似してみてください。
さて、ここが最難関です!
ここからややこしくなるため、実際のスプレッドシートの複製版をご用意しました。ぜひこちらを参考にしながら進めていただければと思います。
手順としては、次の画像のA列に「日付変換」という項目を、そしてB列に「分数変換」という項目を設けます。
「日付変換」の列を設ける理由ですが、ちょっと難しくなるので読み飛ばしてOKです!
雰囲気としては、回答シートA列にあるタイムスタンプが【秒単位】で自動入力されるため、それぞれ【月単位】に変換するための数式をかませている、といった感じです。月別レポートだから【月単位】ということです。
こうすることで、最後の仕上げとなる「SUMIFS」関数が使えるようになります。
さて。
結局、こちらもわかりにくかったかと思いますので、レポート用シートの【A2】セルに、次の数式をそのまま入れてみてください。
=IF(‘フォームの回答 1’!A2=””,””,INT(TEXT(‘フォームの回答 1’!A2,”yyyy/mm/dd”)))
また、お隣の【B2】セルにも、次の数式をそのまま入れてみてください。
=’フォームの回答 1′!B2
その状態から、【A2】【B2】セルの数式を、それぞれ下方にコピペしてしまえばOKです。
最後の総仕上げとして、レポートにも数式を組んでいきます!
先ほどと同じ画像ですが、今度はこちらのE・F列の部分です。
こちらも、一旦ややこしいので【E2】セルに、
=SUMIFS(B:B,A:A,”>=”&D2,A:A,”<“&D3)
という数式を、【F2】セルに、
=E2/60
という数式を、それぞれ入れてみてください。
また、その状態で【E2】【F2】セルを下方にコピペしてください。
これで完成ですが、【E2】セルの「SUMIFS」関数はぜひ覚えていただきたいので、最後にもう少しだけ解説したら終わりにします。
「SUMIFS」関数は「SUM(=合計)」と複数の「IF(=条件分岐 “もしも〜”)」が合体した関数です。
なので、書き方は【=SUMIFS(合計したい範囲, 条件①の範囲, 条件①, 条件②の範囲, 条件②, ・・・)】となり、条件の数だけ後ろに続いていきます。
こちら↑の式で言えば、
となります。
特にわかりにくい「条件①・②」ですが、
を同時に満たせ、と言っている状態になります。
つまり、「8月中の練習時間のみをすべて合計しろ」という命令になるんです。
今回、Googleフォーム×スプレッドシートの活用事例を示すことで、Googleフォームが単なるアンケートフォームではなく、集計したデータの料理方法によっては便利なアプリになるよ、ということを紹介していきました。
特に今回は制作する上で実作業量の少ないこの『時間管理アプリ』を題材にしたのですが、いざ文面で説明するとなるとかなり膨大かつわかりにくい内容になってしまった点、痛く反省するとともに大変勉強になりました。
こちらの記事で何かお悩み解決のヒントとなれば幸いです。
旅田 康貴ディレクター / デザイナー / イラストレーター
デザインが一番苦手なデザイナーを目指しています。最近、名字が変わりました。