期限のある業務をスプレッドシートで管理していれば期限が自動で通知されると便利ですよね。
- 薬品の有効期限
- 医療機器の点検期限
- 在庫の使用期限
- スタッフの資格更新期限
- 許可証の更新期限

今回は、調剤薬局内の期限を通知する簡単な仕組みを作りました。
本記事では、スプレッドシートで管理している期限に対して、メールに通知を送る方法を解説します。
GASを使って、スプレッドシートの期限をメールで自動通知する方法
使用するツールと準備
- Google アカウント
- Google スプレッドシート(Google アカウントがあれば誰でも使用できます)
- Google Apps Script(Google アカウントがあれば誰でも使用できます)
これらのツールを準備し、Google スプレッドシートでデータを管理する準備を整えましょう。
スプレッドシートの設定
次に、スプレッドシートで通知したい内容と期限の表を作成します。
- スプレッドシートを開き、期限を管理したいデータを入力します。
- 「日付」や「項目名」など、必要な項目を1行目に追加します。


すでにエクセルで管理をしている場合はスプレッドシートに簡単に変更できます
Google Apps Scriptで通知設定
ここでは、Google Apps Scriptを使用して通知を設定します。

GASを初めて使う人は以下のブログを参考にしてください。使い方は簡単です
- スプレッドシートの「拡張機能」から「Apps Script」を開きます。
- 以下のコードをコピーして貼り付けます。
- 貼り付け後、以下の行を編集してください。
・your-email@example.com → 通知したいメールアドレスに書き換え

function sendReminderEmails() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = sheet.getDataRange().getValues();
var today = new Date();
for (var i = 1; i < data.length; i++) {
var dueDate = new Date(data[i][0]); // A列: 期限日
var daysBefore = parseInt(data[i][1], 10); // B列: 通知何日前
var item = data[i][2]; // C列: 項目名
var person = data[i][5]; // F列: 担当者名
var note = data[i][6]; // G列: 備考
// 通知開始日を計算
var notifyStart = new Date(dueDate);
notifyStart.setDate(dueDate.getDate() - daysBefore);
// 通知するか判定
var shouldNotify = today >= notifyStart && today <= dueDate;
if (shouldNotify) {
var subject = "【リマインダー】" + item + " の期限が近づいています";
var message =
"担当者: " + (person || "(未指定)") + "\n" +
"項目: " + item + "\n" +
"期限: " + Utilities.formatDate(dueDate, Session.getScriptTimeZone(), "yyyy/MM/dd") + "\n\n" +
(note ? "備考: " + note + "\n\n" : "") +
"お早めの対応をお願いします。";
var email = "your-email@example.com";//通知したいメールアドレスに書き換え
MailApp.sendEmail(email, subject, message);
// D列: 通知ステータス
sheet.getRange(i + 1, 4).setValue("通知済み");
// E列: 通知日
sheet.getRange(i + 1, 5).setValue(today);
} else {
sheet.getRange(i + 1, 4).setValue("未通知");
sheet.getRange(i + 1, 5).setValue("");
}
}
}
毎日実行されるための設定

トリガーを設定し、毎日通知が行われるようにします

- 「時計」アイコンをクリックし、右下の「トリガーを追加」を選択します。
- 「sendReminderEmails」を選択し、時間ベースのトリガーを設定します。

メールで通知するメリット
カレンダーに書き込むことでも期限の管理はすることができます。
しかし、データでまとめてメールで通知するのは以下のメリットがあります。
- メールは毎日チェックするので確認漏れがなくなる
- 莫大なデータも管理することができる
- 数年後先の期限を必ず通知されるので不安がない
- 管理業務が効率化され、他の重要な業務に集中できる

私が使っている実例として、施設患者の介護保険証の期限管理をしてます
まとめ:自動メール通知による業務効率化をはじめよう
毎朝、重要な期限だけを自動でメールで把握できる仕組みは、業務の負担を大きく減らしてくれます。
Google Apps Scriptを活用することで、特別なプログラミングの知識がなくても、誰でも「使える自動通知システム」を構築できます。
今後は、通知条件を柔軟に変更したり、複数人への通知や、Googleカレンダーとの連携など、さらに幅広い自動化の応用が可能です。
これらをうまく組み合わせることで、日々の業務をさらに快適に、そして効率よく進めることができます。
この仕組みをまだ試していない方は、ぜひ一度導入してみてください。