見出し画像

欠席等連絡Googleフォーム (2023年12月版)【導入方法解説あり】

2年前に書いたGoogleフォームとスプレッドシートの記事がやや好評をいただいているようで、「うちの学校も導入できました!」という声をかけてもらうこともあります。ありがたい限りです。

この類のツールの需要がまだあるのか私の知るところではありませんが、供給すればその需要が生まれることでしょう。フランスの経済学者ジャン=バティスト・セイも言ってい(たとされてい)ます。知らんけど。

さて、弊職場では同フォーム&スプシのアップデートを控えています。
……本当に使ってますからね、弊職場で。
もちろん情勢に応じて多少手を加えながらでしたが、その項目も増えたため、整理がてら改めて記事にしてみたいと思います。

また、今回はシートに設置されたボタンを初めて押す際の注意点 (GASで特定の挙動を設定したボタンの初回の動かし方) も詳しく見ていきましょう。
それだけ知りたい方は 導入案内>シート上のボタンを使うために まで読み飛ばしてください。

以降、記事内では下のような表記を使います。
【○○○】:シート名
[○○○]:ボタンや選択メニューの項目名

変更内容

まずは前バージョンからの変更点をまとめていきます。新バージョン(2023年12月版)のスプレッドシートを、以下からご自身のマイドライブにコピーし、併せてご覧ください。
(コピーの手順などは導入案内をお読みください。)

フォーム側の変更点

・「理由」と「特記事項」の欄を統合 (短文記述形式)
・利用していないスクリプトを削除

スプレッドシート側の変更点

・【連絡データ】の列入れ替え
・【連携データ】バックアップ機能廃止
・【処理用】の追加 (非表示)
・【まとめ】の追加 (詳細は後述)
・【全クラス】において、連絡内容×理由で行っていたハイライト表示を、連絡内容の選択のみに変更 (プルダウンリスト→チェックボックスの変更含む)
・各クラスシートに連絡項目ごとのチェックボックスを配置→チェックで該当連絡をハイライト。

スプレッドシートの見方・使い方

シートごとに解説していきます。
※スクショを撮ったタイミングによってシート配置や列の順序が変わっていることもありますが、気にしないで大丈夫です。

【連絡データ】

このシートには、フォームから送信されたデータが蓄積されていきます。基本的にいじる必要はありません。
(弊職場では昨年度、5000件近くデータがあっても、他シートは軽々動いてました。)

適当なサンプルデータが3件入っています

学籍は数字4桁推奨です。
学籍の左側2桁 (1234であれば12の部分) を使い、各クラスのシートがデータ抽出を行うためです。

【全クラス】

指定した日における連絡一覧を表示します。D1セルをダブルクリックして、カレンダーから日付を選択できます。[今日表示]ボタンを押すと、押した日の日付が入力されます。

クラスと出席番号の昇順で表示されます

A3~A5セルの各チェックを入れると、その項目に対応した連絡がハイライトされます。

(例)A4セルのチェックがON→遅刻連絡が黄色ハイライト

【まとめ】

これは正直に言うと、今回実験的に作ってみたシートです。
養護教諭や管理職がその月の欠席をまとめたりするときがあるかもしれないと思い、無駄に終わる可能性もありながら作ってしまいました。

まず必要かどうかヒアリングしろよ、というのは重々承知の上です。

しかしこのシートによって、以前にはなかった「その月における全クラス連絡一覧」が作れます
連絡項目による絞り込みもついています。

使えたら使ってみてください。
ちなみに【処理用】(非表示)と連動しています

月をまたいだ検索も、E1セルのチェックを入れてもらえば可能です。
※年度またぎはできません。

F3(開始日)とF4(終了日)セルは、ダブルクリックでカレンダーからの入力が可能です

【クラスシートサンプル】

主にクラス担任が毎日見るシートの雛形です。
全てのクラス分のシートを用意したら、担任の先生は自分のクラスのシートをブックマークすることをおすすめします。(スプレッドシートはシートごとに個別のURLが振られるため。私はそのURLをショートカットに仕込み、職場PCのデスクトップに置いてました。)

連絡項目ごとのハイライト表示と、週/月/指定期間での一覧を表示できます。週/月の表示基準は、D1セルの日付が属する週/月になります。

※週/月/指定期間のチェックは、より下のものが適用されます。

A1セルにはクラス名を入れてください。その際、学年と組の数字は必ず半角1桁ずつで入力してください。マンモス校(死語)でなければ問題ないかと思います。
 (良い例)1年3組
 (悪い例)1年3組

空白文字(スペース)を入れるのもご遠慮下さい。
 (悪い例)1年 3組
 (悪い例)1年 3組
 (悪い例)1 年 3 組

一応アルファベット等にも対応しています。
 (例)1年A組 など
そのような表記にする場合、以下の箇所で手直しが必要になってきます。
・フォームのクラス選択肢
・【連携データ】A1セルの数式
これらの手直しの詳細は割愛します。

導入案内

ファイルへのアクセス〜コピー

この記事上部のファイル埋め込みからスプレッドシートを開き、ファイル名下の ①[ファイル]リボンから ②[コピーを作成]と進んでください。

下のような表示が出ますので、③[コピーを作成]を押してご自身のマイドライブに保存しましょう。
ファイル名は後からでも変更可能です。

保存先フォルダは適宜選んでください。
デフォルトはマイドライブ直下です。

正しくコピーされている場合、スプレッドシートとフォームが1セットとして保存され、マイドライブに2つのファイルが追加されているはずです。(下図参照)

シートとフォームはすでに連携されている

フォームのセットアップ

スプレッドシートと同時にコピーされたフォームも開いてみましょう。
スプレッドシートとフォームが連携されていることを ①[回答]タブから確認できます。正しく連携されていれば、以下の画像のようになっています。
念のため ②[スプレッドシートの表示]から確認するのもいいでしょう。

※連携されていないフォームでは、「スプレッドシートにリンク」という文言になっています

あとはクラス数や出席番号の調整をしてください。氏名の入力に関しては、空白文字 (半角/全角スペース)を入れるとエラーが出るようにしています。

このエラー出しが不要であれば右側の[×]を押して条件削除しちゃってください

また、質問項目を増やしたり減らしたりする場合は、スプレッドシート側の表示 (【全クラス】や【まとめ】などのQUERY関数) も調整が必要ですので注意してください。

スプレッドシートのセットアップ

《各クラス用シートを準備する》
【クラスシートサンプル】を開き、シートタブにある ①▼ を押すとメニューが出てきます。②[名前を変更]から、「1年1組」などのわかりやすい名前に変更しましょう。

シートを増やす場合は ③[コピーを作成]を押すと、そのシートのコピーが隣にできます。このように各クラスのシートを増やしていけます。

A1セルのクラス名を変更すると、集計されるクラスも変わります。
※【クラスシートサンプル】の使い方のところで触れたように、A1セルの入力形式にご注意ください。

《Apps Script のトリガー設定》
少々やっかいですが、【連携データ】の登録日や遅刻/早退の登校予定時刻の形式を直すために、GASのトリガーを設定していきます。
(直すためというか、不具合を防ぐためというか。)

まずはスプレッドシートの[ツール]リボンから[Apps Script]を開き、左側サイドパネルの目覚まし時計マーク ①[トリガー]をクリック。まだ何も無いと思うので、②[トリガーを追加]しましょう。

関数の選択では、まずは ③[convertDateFormat]を選びます。

そして下の方にスクロールするとイベントの種類を選ぶ箇所があるので ④[フォーム送信時]にして[保存]しましょう。

[convertTimeFormat]の方も同様に行いましょう。

〈これが面倒であれば〉
・フォームの方で、遅刻/早退の学校到着/出発予定時刻を手入力してもらうようにする
・スプレッドシートのQUERY関数が入っている部分で、登録日の列に書式 (日付:YYYY/MM/DD) を適用させる
などの方法でも良いかもしれません。

シート上のボタンを使うために

【全クラス】や【クラスシートサンプル】にある[今日表示]ボタンは、D1セルに入っている日付をその日の日付にするのに便利です。

しかし、ワクワクして押してみたら見慣れないウインドウが出てきて焦ったもう二度と押さん!……なんて経験のある先生方もいることでしょう。

そのような場合にも、以下の手順を知っておくことで冷静に対処できることでしょう。

《初回のみ行うこと》
ボタンを初めて押した際に、以下のようなダイアログが出てきます。
迷わずOKを押しましょう。

「認証が必要です」
仰々しくて焦っちゃいますよね。
起案も稟議も不要なので安心してください。

次のような画面になったらスプレッドシートを利用するアカウントを選択します。(学校で配られた教育用Googleアカウントがあれば、その方が良いでしょう。)

でかでかと赤い注意⚠️が出てくるので、左下の[詳細]をクリックします。大丈夫です。変なウイルスとか仕込んでませんよ。

「安全ではないページ」と出てくるとさらに忌避感を強める人も出てくるかと思いますが、自信をもってクリックしましょう。

安全ではない、とか失礼しちゃうわね。

はい、ここまで来たら下にスクロールして[許可]を押してください。

その後このウインドウは消えるので、再度[今日表示]ボタンを押しましょう。そうするとD1セルの日付が押した日の日付になります。

このD1セルはダブルクリックでカレンダーから入力もできるため、上手く使い分けてください。
決してボタンの利用を推奨するものではありません。

共有の設定

最後に、共有範囲を設定しましょう。
「個人情報を扱うのに『共有』なんてとんでもない!」と息巻く必要はありません。
クラウドサービスだって適切に運用すれば安全です。酔っぱらって成績関係書類や生徒情報を入れたUSBメモリを紛失する教員より100億倍マシです。

シート右上の ①[共有]を押すと下図のような設定画面になります。
ページ下部の「一般的なアクセス」のところは、デフォルトでは「制限されたアクセス」という文言になっているため、その状態だとあなたしか見られません。②のアクセス範囲を適切に設定してあげることが必要です。

弊職場で稼働しているシートでは、自治体管理のドメインでアクセス制限をかけています。

②を仮に「リンクを知っている全員」にすると、もしもこのスプレッドシートのURLが流出してしまったときに、誰でも見られる状態になってしまいます。

そのため、自治体の職員しか見られないようにしたり、職員の指定Gmailをページ上部の入力欄から追加したりするなどしてアクセス制限をしていくのが良いでしょう。

③[完了]を押すと設定完了です。
お疲れ様でした。

注意事項

クラウドサービス上での個人情報の取り扱いについては、各自治体や所属組織のガイドラインに従いましょう。

余談

もし、このスプレッドシートやフォームをこれから導入したいと考えている先生 (特に若手の先生) がおられましたら、改めて考えてほしいことがあります。私も若手で恐縮ですが……。

このご時世にこういったものを導入できていないとすれば、職場内か教委に邪魔者従来の方法を変えることを不安に思う人がいる可能性が高いです。まずはそれが誰なのかを見極め、外堀から埋めていくのが得策でしょう。(現場から教委だと働きかけづらいですね。管理職やベテランのコネを使うのも一手です。)

もとはと言えば、朝の電話連絡に縛られる時間を減らすための手段として、このフォーム&シートを作りました。「やっぱり電話で保護者や生徒の声を聞いた方がいろいろ感じ取れるし、安心よね」というような感覚的な部分を切り捨てるためではありません。

そのような意見を老害という言葉で揶揄するのではなく、あくまでも時間を有効活用するためのツールとして導入し、児童生徒のために使える時間や思考のリソースを増やしていくという方向性で共存していければいいのではないでしょうか。

補足

【連絡データ】の扱いについて

不特定多数の教員がいじれない方が、データを守る観点から言えばベターだと思います。
例えば、【連絡データ】を別スプレッドシートにし、そのシートURLをIMPORTRANGE関数を使ってQUERY関数の範囲にするとか。面倒だけど。

手っ取り早いのは【連絡データ】を非表示にしちゃうことですね。
でも1年間旧シートを運用してみて分かったのは、意外とこの蓄積された【連絡データ】を閲覧している先生方が多いことです。
全てのデータがあって、他の日のデータもスクロールすれば済むという考えかと思われます。

【連絡データ】のバックアップについて

変更点のところでも書きましたが、バックアップ機能を廃止しました。
リボンから操作して、蓄積されたデータに名前を付けて指定のフォルダに保存する、という機能でしたが、スクリプトに保存先フォルダのIDを設定しなければいけないため、紹介するにしても多少煩雑になってきます。

それよりは、シートメニュー (①▼) から ②[別のワークブックにコピー]、③[新しいスプレッドシート]と選んでいけば、誰でもバックアップがとれると考えています。そんな感じでやってみてください。

コピーされた先の新しいスプレッドシートには、それ以上連絡データは蓄積されません。

大変長い記事になりましたが、これで以上になります。
質問等ありましたらお気軽にコメントしてください。Twitterの方でも大丈夫です。

この記事が参加している募集

つくってみた

サポートしてくださると元気になります。お財布のご都合が良いときでよければお願いします。