Excel関数入門:EDATE関数の使い方【月単位で日付をシフト】

「この日から3か月後はいつ?」「契約日の6か月前は?」といった月単位の日付計算をしたいときに便利なのがEDATE関数です。
給与計算や契約更新、月次レポート作成など、ビジネスシーンでよく使われます。


EDATE関数とは?

EDATE関数は、指定した日付から前後の月数を加算・減算した日付を返す関数です。
日付はExcel内部のシリアル値で扱われるため、日付形式で結果が返ってきます。


書式

=EDATE(開始日, 月数)
  • 開始日:基準となる日付(セル参照やDATE関数で指定可能)
  • 月数:加算する月数(正の数で未来、負の数で過去)

使用例

例1:3か月後の日付を求める

=EDATE("2025/1/15", 3)

→ 結果:2025/4/15


例2:契約日から6か月前を求める

セルA2に契約日「2025/8/26」が入っている場合:

=EDATE(A2, -6)

→ 結果:2025/2/26


例3:月末処理と組み合わせる

=EOMONTH(A2, 1)

→ A2の日付の翌月末日を返す(EDATEとセットで覚えると便利)


活用例

  • 契約更新日や支払期日の計算
    開始日から◯か月後を自動計算できるため、期日管理に最適です。
  • 月次のシフトやレポート日付の自動生成
    毎月1日や特定日を基準に、翌月・前月を自動で出せます。
  • ローンやリースの支払スケジュール作成
    開始日から毎月加算して次の支払日を算出。

注意点

  • 開始日は有効な日付形式で入力する必要があります(文字列だとエラーになる場合あり)。
  • 結果の日付が存在しない場合(例:1月31日から1か月後 → 2月31日は存在しない)、自動的にその月の末日になります。
    例:=EDATE("2025/1/31", 1) → 2025/2/28

関連関数

関数内容
EOMONTH指定月数後(または前)の月末日を返す
DATE年・月・日を指定して日付を作成する
TODAY今日の日付を返す
YEAR/MONTH/DAY日付を分解して数値を抽出する

まとめ

  • EDATE関数は、基準日から月単位で日付をずらしたいときに便利
  • 契約日・支払日・レポート日などのスケジュール管理に活用できる
  • 末日調整も自動で処理してくれるため、安心して使える