【Excel】1か月後、1か月前、1年後、1年前を算出する方法(EDATE関数)

しょうです。

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関数で困ることはないと思います。

コメント

タイトルとURLをコピーしました