しょうです。
Excelで日付を利用していると1か月後、1か月前、1年後、1年前などの日付を知りたい場合があると思います。
1か月後、1か月前を計算する上で厄介なのが、30日や31日の1か月後、1か月前などの計算ではないでしょうか。簡単に30日足すだけでは期待値の日付が出てきません。
10月31日の1か月前といった場合、期待としては9月30日だと思います。単に30日を引くと10月1日となり、期待した値となりません。
それを簡単に算出する方法を説明します。
利用する関数とその説明
今回利用する関数は以下のとおりです。
- EDATE関数
EDATE関数
書式
書式は以下のとおりです。
EDATE(開始日, 月)
説明
- 開始日(必須項目):開始日で指定した日から[月]数だけ前または後の日付(シリアル値)を返します。
開始日は基本的にはDATE関数を使って指定します。2019年1月1日の場合、DATE(2019,1,1)のように指定します。
DATE関数でなくて文字列(例えば“2019/1/1”)での指定も可能ですが、文字列を指定した場合、エラーが発生する可能性があるとのことですが、私はエラーに遭遇したことはありません。 - 月(必須項目):開始日の何か月前、何か月後か月数を指定します。マイナスの値の場合、開始日より月数分前の日付、プラスの場合、開始日より月数分後の日付を返します。
使用例
日付の入ったセルを用いて計算する方法
B2のセルに2018年10月31日と入っている場合で説明します。
開始日 | 2018年10月31日 |
知りたいこと | 出力結果 | 計算式 |
---|---|---|
開始日の1か月前 | 2018年9月30日 | =EDATE($B$2,-1) |
開始日の1か月後 | 2018年11月30日 | =EDATE($B$2,1) |
開始日の1年前 | 2017年10月31日 | =EDATE($B$2,-12) |
開始日から1年後 | 2019年10月31日 | =EDATE($B$2,12) |
基準日に文字列を用いて計算する方法
知りたいこと | 出力結果 | 計算式 |
---|---|---|
開始日の2か月前 | 2018年8月31日 | =EDATE(“2018/10/31”,-2) |
開始日の2か月後 | 2018年12月31日 | =EDATE(“2018/10/31”,2) |
基準日にDATE関数を用いて計算する方法
知りたいこと | 出力結果 | 計算式 |
---|---|---|
開始日の3か月前 | 2018年7月31日 | =EDATE(DATE(2018,10,31),-3) |
開始日の3か月後 | 2019年1月31日 | =EDATE(DATE(2018,10,31),3) |
基準日にNOW関数を用いて計算する方法(今日が2018年10月31日の場合)
知りたいこと | 知りたい年月日 | 計算式 |
---|---|---|
基準日の4か月前 | 2018年6月30日 | =EDATE(NOW(),-4) |
基準日の4か月後 | 2019年2月28日 | =EDATE(NOW(),4) |
このくらいあれば、だいたいEDATE関数で困ることはないと思います。
コメント