かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

Google スプレッドシート nヵ月前の日付をチェックしたい

例えば、下記のような期限日が入力されているシートで期限まで3ヵ月切っているセルをハイライトしたいような時のメモ。

A B
1 案内日 期限(6ヵ月後月末)
2 2016/07/07 2017/01/31
3 2016/08/07 2017/02/28
4 2016/09/10 2017/03/31
5 2016/10/06 2017/04/30
6 2016/11/04 2017/05/31
7 2016/12/05 2017/06/30
8 2017/01/05 2017/07/31
9 2017/02/03 2017/08/31
10 2017/03/07 2017/09/30

判定条件

条件としては「3ヶ月前の月末 < 本日」で判定すれば良さそうです。
3ヶ月前の月末はEOMONTHを使うと取得することができます。

EOMONTH(開始日, 月数)
起算日から指定した月数だけ前または後ろの月の最終日の日付を返します。
EOMONTH - Docs editors Help

EX

B5セルの「2017/04/30」の3ヵ月前の月末(2017/01/31)は次の式で求めることができます。

=EOMONTH(B5, -3)

この式を利用した条件式付き書式をせっていすれば良さそうです。

シートに条件式付き書式を設定する

  1. B部分をクリックしてB列全体を選択
  2. メニューの「表示形式」から「条件付き書式…」を選択。
  3. 条件式付き書式設定ルール のメニューが表示されるので
    セルの書式設定の条件を「カスタム数式」を選択。
  4. 値または数式入力欄に下記の数式を入力
    =EOMONTH($B:$B,-3)<TODAY()
  5. いい感じに書式設定のスタイルを指定して、完了ボタンをクリック

期限日が3ヶ月切っているセルが設定した書式の通りに表示されていればOKです。
f:id:kikiki-kiki:20170324165053p:plain

月数を変えたいときはEOMONTHの第二引数の値を変えればOK。
他にもEDATE関数などを使用すれば条件の日付を自由に計算することができます。
公式のドキュメントにいろんな関数が載っているので興味があればそちらを参照ください。


[参考]

ポケット百科 Googleサービス 知りたいことがズバッとわかる本

ポケット百科 Googleサービス 知りたいことがズバッとわかる本