スプレッドシートの期限は、日付型で入れて条件付き書式で 30 日以内・7 日以内・超過を色分けすると、表を開いたときに見落としにくくなります。開かない日にも気づけるようにするには、Google Apps Script(GAS)で毎朝 1 通、Slack や Discord へ知らせます。車検・賃貸契約・ドメイン・資格の更新期限を表に並べたまま見落とすとき、スプレッドシートだけでできる手順と、毎朝 1 通で知らせに来させる組み方をまとめます。
期限を表に書いているのに、なぜ見落とすのですか
・車検・保険・賃貸契約・ドメインの期限を表に並べてあっても、開かなかった日に期限が過ぎます
・件数が増えると、どれが近いのかを毎回探すことになり、種類ごとに月もばらばらになります
・担当が 2 人いると「相手が見ているはず」で誰も動かず、気づくのが期限の翌日になります
スプレッドシートだけで期限を管理するには
・期限シートの列を「件名・期限・担当・状態」の 4 つにし、期限は文字列ではなく日付型で入れます
・条件付き書式で、30 日以内は黄色・7 日以内はオレンジ・超過は赤にします
・更新が済んだ行は消さずに「完了」と書き、フィルタで外して見ます
・車検のように準備が要るものは、何日前に知らせるかを件ごとに決めます。タイムゾーンは東京にします
ここまでは関数と書式だけでできるので、費用はかかりません。ただし、表を開いた人にしか効きません。
毎朝 1 通で知らせると、何が変わりますか
GAS で時間主導のトリガーを毎朝 8 時に設定し、期限を読み取って Slack か Discord へ 1 通で送ります。1 通の中は、期限を過ぎたもの・今日が期限のもの・3 日後が期限のものの順に並べると、いちばん危ないものが先頭に来ます。
次の 3 点を決めておくと、運用が崩れにくくなります。
・「状態」が「完了」の行は知らせません
・同じ日に 2 回動いても、同じ行は 2 度送りません
・読み取りに失敗したときは、同じ通知先にエラーを送ります。通知が来ない日と、動いていない日を区別できます
何日前に知らせるか・通知先・文面・列名は、コードに埋め込まず設定用のシートに出しておくと、あとから担当者が自分で変えられます。
自分で組むか、頼むか
列を整えて色分けするところまでは、上の手順で足ります。毎朝の通知は、GAS が初めてだと承認画面やトリガーの設定でつまずきやすい部分です。お使いのスプレッドシートに期限の通知を 1 本つなぐところから、複数のシートや独自の条件での設定まで、ココナラで行っています。
ココナラの出品「GASで期限の通知を自動化します」もご覧ください。