防災備蓄の期限切れ防止システム設計図

AppSheet × GASで実現する「忘れても大丈夫」な仕組み

この設計図(チュートリアル)は、Note連載「防災備蓄を放置できる仕組みにする」の内容を、ご自身の環境で再現するための「伴走型ガイド」です。
面倒な賞味期限管理を自動化し、忘れていても必要なタイミングでスマホに通知が届く仕組みを構築します。

防災備蓄アプリの動作イメージ

💡 すぐに使える完成版テンプレートはこちら

高度版(自動メール通知付き) 簡易版(チェックリストのみ)

※コピーにはGoogleアカウントおよびAppSheetアカウント(無料)が必要です


🚀 全体の流れ

  1. テンプレートをコピーする(アプリ本体 + スプレッドシート)
  2. マスター情報を登録する(通知先の家族アドレス、保管場所など)
  3. 通知システム(GAS)を設定する(トリガーとタイマーのセット)

📅 第1部:データ設計(スプレッドシート)

Googleスプレッドシートに以下のテーブルを用意し、AppSheetに接続します。完成版テンプレートをコピーした場合は、自動的に作成されます。

📊 データモデル (Data Schema)

  • 防災備蓄リスト (Logs): アイテム名、数量、賞味期限、保管場所、カテゴリ、状態(送信待ち/送信完了)などを記録します。
  • カテゴリ (Categories): 「食品」「日用品」など、ご家庭に合わせた分類マスタ。
  • 保管場所 (Locations): 「キッチン」「防災リュック」「廊下収納」などの場所マスタ。
  • 通知用ユーザー (Users): 通知メールを届けたい家族の「名前」と「メールアドレス」を登録します。

🛠️ 第2部:UIとセキュリティ設定(AppSheet)

使いやすさと安全性を両立させるためのAppSheet側の設定です。

A. 期限切れの色分け表示 (Format Rules)

普段の備蓄リストを開くだけで、状態が直感的にわかるようにします。

  • 赤色の「!△」マーク: すでに期限が切れているもの。
  • オレンジ色の「△」マーク: 期限まで30日以下のもの。
防災備蓄アプリの賞味期限切れ警告・色分け表示イメージ

B. 通知先の家族アドレス登録

サイドメニューの「メールアドレス登録画面」から、通知を届けたい家族全員のアドレスを登録します。夫婦で登録しておけば、見逃しがなくなります。

アプリのサイドメニューとメールアドレス登録画面

🤖 第3部:全自動通知の設定(GAS)

スプレッドシートの裏側で動くGoogle Apps Script(GAS)をセットし、完全無料で自動メール通知を稼働させます。

① 通知プログラム(GASコード)の貼り付け

  1. スプレッドシート上部のメニュー [拡張機能] > [Apps Script] をクリックします。
  2. 最初から書いてあるコードをすべて消し、提供されているGASコードを貼り付けます。
  3. フロッピーアイコン(またはCtrl+S)を押して保存します。
  4. 画面上の 「実行」 ボタンを1回だけ押し、アクセス権限の承認(「詳細」>「安全ではないページに移動」をクリックして許可)を完了させます。
⚠️ 重要:タイムゾーンの設定 日付の判定がずれないよう、スプレッドシートのタイムゾーンを確認しておきましょう。
スプレッドシートのメニュー「ファイル」>「設定」から、タイムゾーンを「(GMT+09:00) 東京」に変更してください。

② 毎朝動く「トリガー」のセット

  1. Apps Script画面左側の [トリガー](時計マーク ⏰)をクリックします。
  2. 右下の [トリガーを追加] をクリック。
  3. 実行する関数に checkExpirationAndNotify を選択します。
  4. イベントのソースを 「時間主導型」 にし、日付ベースのタイマーで 「午前9時〜10時」 などの実行したい時間帯を選択して保存します。
Apps Scriptでの自動通知トリガー設定画面
💡 NOTE この設定をすることで、毎日決まった時間にGASが自動で備蓄リストをチェックし、期限の「30日前・20日前・10日前・5日前・当日」の5段階で家族宛てに自動リマインドメールを飛ばしてくれます。

おわりに

これで、あなたの家庭専用の「全自動・防災備蓄管理システム」は完成です!
一度セットしてしまえば、あとは備蓄の期限をすっかり忘れていても、システムが勝手に監視し続けてくれます。

もし分からないことがあれば、NoteのコメントやX(旧Twitter)でお気軽にご相談くださいね。

それでは、安心で快適な家庭DXライフを!🎒✨

👉 noteで解説記事を読む