7
どのような問題がありますか?

投稿日

更新日

Googleフォームで健康観察(検温入力付)を行い、スプレッドシートで集計する方法

SnapCrab_NoName_2021-4-3_21-38-41_No-00.png

1.はじめに

 生徒自身がGoogleフォームで入力した健康観察を教師や養護教諭が簡単にスプレッドシートを用いて確認できるようにするためにこのシステムを作成しました。
 まだフォームやスプレッドシートに関しては知識があまりないので、恐らくとても回りくどいことをしていたり、ここをこうすればもっと良くなるといった部分が多々あると思います。もしそういった点が見つかった場合は、教えてくれるととても助かりますのでよろしくお願いします。

2.準備

 以下のリンクから健康チェックのフォーム、スプレッドシートをコピーして下さい。

権限のリクエストについて 以下のフォーム、スプレッドシートについて閲覧権限のリクエストを多数頂いていますが、共有ができない方が沢山おられます。 こちらからファイルには共有制限をかけてはいないのですが、教育委員会や自治体のほうで外部ドメインのファイルに対する制限がかけられているケースがあります。その場合、こちらから承認を出しても下の画像にあるようなってしまい弾かれてしまいます。 その場合は、管理されている委員会や自治体に問い合わせ頂くか、フリーのGoogleアカウントを作成し、そちらからのアクセスをお願いいたします。

Screenshot_20220204-120725~2.jpg

フォーム
https://docs.google.com/forms/d/1B3QsAGEeJ4ch85SE1jnQM29gW-fK6RpejVoTXaYOTN4/copy
スプレッドシート
https://docs.google.com/spreadsheets/d/1OykS8WAjhR2gJVUqvo9FAhiY1cP4Ofj1ZNi5nrIQff4/copy

3.フォームの設定

 このフォームは学年、クラスを選ぶとそれに対応した生徒氏名がドロップダウンリストで表示されるようになっています。
本来なら生徒用のGoogleアカウントを用いる方がなりすましを防げるので手軽なのですが、その場合欠席した生徒の保護者がスマホ等で投稿する際にアカウントの切替が必要になるなど、ハードルが上がってしまうことを懸念して、こういう形になっています。
 ※Googleアカウントで投稿できるフォームも近いうちに作ろうと思っていますので、完成したら公開します。
SnapCrab_NoName_2021-3-31_11-18-47_No-00.png

~フォームの構成~

フォームは大きく分けて次のように構成されています。
1. 学年選択
2. クラス選択
3. 氏名選択
4. 健康観察

学年⇒クラス⇒氏名は選んだ回答によって移動するセクションが変わりますので、学年数やクラス数を変更した場合は正しいセクションに移動するように設定をして下さい。

①学年の設定

・必要に応じて学年の選択肢を変えて下さい。
・右下の三点リーダーを押して、「回答に応じてセクションに移動」にチェックを入れておいて下さい。
・移動先となるセクションを選択して下さい(対応するクラスのセクションを作ってないと移動先セクションが出てこないので注意)
SnapCrab_NoName_2021-3-31_9-5-58_No-00.png

②クラスの設定

・やることは学年の設定と同じです。
・クラス数に対応したクラスのセクションをあらかじめ用意しておき、そこに移動するように設定します。
※学年数やクラス数を変更した場合、スプレッドシートの設定が変わるので、あとで忘れずに変更して下さい。
SnapCrab_NoName_2021-3-31_9-13-30_No-00.png

③氏名選択画面の設定

・あらかじめ入力してある生徒名はダミーなので削除して下さい。
・削除後、Excelなどの名簿ファイルから生徒の氏名データを一クラス分コピーして、選択肢1の所にそのまま貼り付けします。
・すると一クラス分の名簿がリストの形で貼り付けられます。
・同様の作業をクラス数分行って下さい。
・移動先のセクションを「今日の健康状態を入力しよう」に設定して下さい。
SnapCrab_NoName_2021-3-31_9-15-17_No-00.png

④健康観察

・作成してある質問等に関して、内容の変更や質問の項目数を増減させることは問題ありませんが、設問を増やすとスプレッドシートの設定を変える必要があるので、スプレッドシートの扱いがわかる方はのみ変更した方が無難です(言うほど難しい事ではありませんが)。
SnapCrab_NoName_2021-3-31_9-33-33_No-00.png

⑤フォームの回答先の設定

・フォームの一番上にある「回答」というタブを押し、三点リーダーを押すと「回答先を選択」という項目が出てくるのでそれをクリックします。
SnapCrab_NoName_2021-3-31_9-31-33_No-00.png
・次に「既存のスプレッドシート」にチェックを入れ「選択」をクリックします。
SnapCrab_NoName_2021-3-31_9-34-14_No-00.png

・健康チェック(回答)のコピーを選択して「選択」ボタンをクリックします。
SnapCrab_NoName_2021-3-31_9-36-13_No-00.png

以上でフォームの設定は完了となります。
スプレッドシートの設定に移る前に、テスト用データとしてフォームのプレビュー機能(目のようなマーク)で適当に学年やクラス、氏名を変えてアンケート送信を行っておいて下さい。(検証用には同じクラスで何人か入力しておいた方がわかりやすいと思います)
実際にデータが入力されていた方がスプレッドシートの設定がやりやすいと思いますので。

4.スプレッドシートの設定

~スプレッドシートの構成~

スプレッドシートは以下のようなシートがあります。
1. フォームの回答
  >フォームで入力した回答がここに蓄積されます。
2. データ
  >フォームの回答をこのシートと同じ形式にするための見本です。このシートはあとで削除します。
3. 1-1
  >クラスごとの回答を集約したシートです。必要に応じてこのシートをコピーして他のクラスにすることができます。
4. 全学年
  >養護教諭が全体を一気に確認できるように全学年を一覧表示させています。
5. 月別
  >クラスの生徒の熱のみを月ごとに集約して表示してあります。
6. 生徒名簿
  >生徒名簿を貼り付けて下さい。

①スプレッドシートの回答先(フォームの回答)について

・「フォームの回答」シートを表示すると以下のようになっているかと思います。
※列幅は全体が見えるように適宜調整して下さい。
・今回はわかりやすくするために、1年1組、2年2組、3年3組の生徒をそれぞれ入力してみました。
・シートの列は左から

タイムスタンプ
学年
クラス(1年)
生徒氏名
・・・(クラス数分)
クラス(2年)
生徒氏名
・・・(クラス数分)
クラス(3年)
生徒氏名
・・・(クラス数分)
質問項目
・・・(各設問に応じた回答の列)
となっています。
SnapCrab_NoName_2021-3-31_9-47-0_No-00.png
※画像では生徒の名前が異なる列にそれぞれ表示されているのがわかると思います。これは学年別、クラス別に生徒氏名が集計されてくるからです。
このままだと扱いづらいので、以下の項目で扱いやすくするための工夫を行います。

②「フォームの回答」シートの設定

・まずA列を右クリックして、「1列を左に挿入」をクリックします。
SnapCrab_NoName_2021-3-31_11-26-34_No-00.png

・次に「データ」シートのA1のセル(「検索キー」と書かれたセル)をクリックすると、数式バーに数式が表示されるので、その数式を選択してコピーして下さい。
※セルそのものを右クリックしてコピーするのでは無く、必ず数式をコピーして下さい。
SnapCrab_NoName_2021-3-31_11-33-1_No-00.png
・「フォームの回答」シートを選択し、先ほど挿入したA列の1行目に貼り付けて下さい。
※この時は直接セルにペーストして構いません。
・サンプルで入力してあった生徒氏名の頭に数字がくっついた値が表示されたらOKです。
※この関数はA1のセルに貼り付けると下のセルに自動的に生徒氏名が入力されます。そのため、A2以下のセルには絶対に何も入力しないで下さい。(Excelに慣れているとついつい下まで選択して貼り付けしたくなりますが、その必要はありません。)

【数式の説明】
 ①={"検索キー";
  ・・・セルA1に「検索キー」という文字列を表示させます。
 ②ArrayFormula(
  ・・・この数式を配列数式にします(これによって自動的に下まで入力される)
 ③if(isblank(B2:B)=true,"",
  ・・・もし、B2以下のセルで空白があればセルに何も表示しない
 ④rounddown(B2:B,0)
  ・・・タイムスタンプに入力された日付データは時間もくっついているので、日付のみを抽出しています。
 ⑤&E2:E&F2:F&G2:G&H2:H&J2:J&K2:K&L2:L&N2:N&O2:O&P2:P))}
  ・・・生徒氏名の列を全て横に結合します。(これによってどの列に氏名が入力されていても氏名を拾ってくることができます。)

【重要】フォームでクラス数を変更した場合

・クラス数を変更した場合、数式の説明⑤にあるセルのアドレスを変更する必要があります。
・この部分は1行目で「生徒氏名」と書かれた列を全て「&」で結合しています。
・途中「クラス」と書かれた列がありますが、必ずそこは除外して下さい。
・入力する際には「E2:E」(E2のセルからE列全体を選択するという意味)のように必要なクラスの数だけ入力し、全て「&」で結合して下さい。
※E2:Pのような他の列も一気に範囲に含めるような書き方はできませんのでご注意下さい。

<おそらくもっと上手な数式の書き方があると思いますが、自分の勉強不足なためこのようなややこしい形になっています>

③「データ」シートの削除

・「データ」シートを右クリックし、「削除」をクリックします。
SnapCrab_NoName_2021-3-31_11-57-17_No-00.png

④「フォームの回答」シートを「データ」シートに変更する

・「フォームの回答」シートを右クリックし、「名前の変更」をクリックし、データと入力してEnterキーを押して確定します。

⑤生徒名簿の貼付

・「生徒名簿」シートを表示し、生徒名簿を貼り付けて下さい。
※あらかじめ入力されているデータを参考に番号等の列が正しく貼り付けられるようにして下さい。

⑥集計結果を表示するシートの数式の再設定

・③「データ」シートの削除によって、数式のリンクが切断されているので、あらためて再度リンクさせてやります。
・「1-1」シートを開き、あらかじめフォームでテスト入力した生徒のいるクラスを選んで下さい。次に「月」、「日」を今日の日付に変えて下さい。
※「今日を表示」というボタンはまだ押さないで下さい。
・恐らくこの段階では生徒氏名はリストに表示されますが、体温等は空欄のままだと思われます。
・セルF6をクリックし、数式バーをクリックします。そのまま何もしないでEnterキーを押すと、熱が表示されると思います。

【重要】フォームでクラス数を変更した場合

・セルF6に入力された数式を変更する必要があります。
・変更する箇所は2カ所あります。
1.「'データ'!$A:$T」のTを「データ」シートの最後列と同じ記号にして下さい。(最後列がXなら「'データ'!$A:$X」とします。)
2.「column(Q1)」を「データ」シートで体温が入力されているセルと同じ記号にします。(体温が入力されているセルがYなら「column(Y1)」とします。)
SnapCrab_NoName_2021-3-31_12-21-53_No-00.png
SnapCrab_NoName_2021-3-31_12-22-37_No-00.png
※このまま一つずつセルを手作業で設定していってもいいのですが、面倒くさいので一気にやる方法を示します。

・セルF6からI47までを選択します。
SnapCrab_NoName_2021-3-31_12-24-58_No-00.png

・この状態でキーボードの[CTRL]キーを押しながら[ENTER]キーを押して下さい。
SnapCrab_NoName_2021-3-31_12-26-43_No-00.png
・すると一気に空欄だったセルに値が表示されたと思います。(罫線が消えてしまうので、気になるようであれば適宜直して下さい)
※ExcelだとF2キーを押して数式を編集するモードにしておく必要がありますが、スプレッドシートはその必要ありませんのでご注意下さい。

~「今日を表示」ボタンについて~

・押すと今日の日付でシートが表示されます。
・最初だけ認証画面が出るので以下の手順で承認して下さい。
・「承認が必要」と出たら「続行」をクリック。
SnapCrab_NoName_2021-4-3_22-14-13_No-00.png
・自分のアカウント名をクリックします。
SnapCrab_ログイン - Google アカウント - Kinza_2021-4-3_22-18-0_No-00.png
・詳細をクリックします。
SnapCrab_ログイン - Google アカウント - Kinza_2021-4-3_22-18-44_No-00.png
・健康観察プロジェクト(安全ではないページ)に移動をクリックします。
SnapCrab_ログイン - Google アカウント - Kinza_2021-4-3_22-19-0_No-00.png
・下の方に画面をスライドします。
SnapCrab_ログイン - Google アカウント - Kinza_2021-4-3_22-19-16_No-00.png
・許可をクリックします。
SnapCrab_ログイン - Google アカウント - Kinza_2021-4-3_22-19-29_No-00.png
・画面が消え、スプレッドシートの画面が表示されていると思いますので「今日を表示」を再度クリックすると今日の日付で画面が更新されます。

⑦クラスのシートをコピーして他のクラスを作成する。

・「1-1」シートを右クリックして「コピーを作成」をクリックします。
SnapCrab_NoName_2021-4-3_20-54-5_No-00.png
・作成された「1-1のコピー」というシートの名前を適宜変更します。
・シートのセルB5(学年)、セルB6(クラス)を適宜変更します。

⑧「全学年」シートの設定

・基本的には「⑥集計結果を表示するシートの数式の再設定」で行ったことと同じ事をやるだけです。

⑨「月別」シートの設定

・こちらも「⑥集計結果を表示するシートの数式の再設定」と同様の事を行うだけですが、注意して欲しい点は
数式の中で「column($Q$1)」となっている部分です。ここは絶対参照になっていますので、参照形式は変えないで記号の変更のみ行って下さい。
column($Q$1)⇒column($Y$1)はOK
column($Q$1)⇒column(Y1)はNG(相対参照にはしない)

以上で設定は終了となります。

6.最後に・・・

このフォーム、スプレッドシートは著作権は放棄しませんが、自由に使って貰って構いません。また、改変や再配布もOKです。
もっとわかりやすく作り替えてくれたりするとありがたいです。その場合はご一報いただけると幸いです。

フォーム作成に使用した画像は以下のサイトから使わせて頂きました。
いらすとや
https://www.irasutoya.com/

新規登録して、もっと便利にQiitaを使ってみよう

  1. あなたにマッチした記事をお届けします
  2. 便利な情報をあとで効率的に読み返せます
ログインすると使える機能について
Ark2020

コメント

この記事にコメントはありません。
あなたもコメントしてみませんか :)
新規登録
すでにアカウントを持っている方はログイン
7
どのような問題がありますか?
新規登録して、Qiitaをもっと便利に使ってみませんか

この機能を利用するにはログインする必要があります。ログインするとさらに下記の機能が使えます。

  1. ユーザーやタグのフォロー機能であなたにマッチした記事をお届け
  2. ストック機能で便利な情報を後から効率的に読み返せる
新規登録ログイン
ストックするカテゴリー