Excelを使っていると「ある日付から〇ヶ月後の日付を求めたい」という場面に遭遇することがあります。たとえば、契約更新日、保険の満期日、ローン返済スケジュールなど、月単位で日付を計算したい場合に便利なのが「EDATE関数」です。
本記事ではEDATE関数の基本的な使い方から、実務で役立つ応用方法までを初心者にもわかりやすく解説します。日付計算のミスを防ぎ、業務を効率化するためにも、ぜひマスターしておきましょう。
EDATE関数は、指定した日付から指定した月数だけ前または後の日付を求める関数です。日付の足し引きを月単位で簡単に行えるため、業務における契約管理や予定の自動計算に大活躍します。
=EDATE(開始日, 月)
たとえば、セルA1に「2025/01/01」という日付があるとします。そこから3か月後の日付を求めたい場合、以下のように入力します。
=EDATE(A1, 3)
結果として「2025/04/01」が表示されます。
逆に、3か月前を求めたい場合は、
=EDATE(A1, -3)
結果:「2024/10/01」となります。
例えば、契約日と契約期間(月数)を入力すると、満期日を自動で算出したいというケース。
A列(契約日) | B列(期間:月) | C列(満期日) |
---|---|---|
2025/01/01 | 12 | =EDATE(A2, B2) |
こうすることで、契約月数に応じた満期日を自動で計算できます。
ローンや定期預金の支払日など、月ごとに発生する日付を一覧で出したい場合にもEDATE関数は活用できます。
回数 | 支払日 |
---|---|
1 | =EDATE($A$1, ROW(A1)-1) |
2 | =EDATE($A$1, ROW(A2)-1) |
3 | =EDATE($A$1, ROW(A3)-1) |
「$A$1」には開始日が入っているとします。ROW関数を使って月数を1ずつ増やすことで、支払スケジュールを自動生成できます。
「今日から6か月後の予定日」を出したい場合、TODAY関数を組み合わせると便利です。
=EDATE(TODAY(), 6)
この式で、常に現在の日付から6か月後を表示するセルを作れます。定期報告や有効期限管理などに重宝します。
EDATE関数は、元の日付が月末の場合は結果も月末になるという仕様があります。
例:
=EDATE("2025/01/31", 1)
→ 結果:「2025/02/28」(うるう年でない場合)
つまり、日付が存在しない場合はその月の最終日に補正されます。
EDATEは「月」単位での日付計算には便利ですが、「10日後」「15日前」といった日単位の加減算には向きません。
その場合は「=開始日 + 日数」のように加算する方法や、DATE関数やWORKDAY関数の利用をおすすめします。
EDATE関数はExcelのバージョンによっては使用できないことがあります(古いバージョンや関数制限のあるGoogleスプレッドシートの旧式など)。
その場合、以下のようなDATE関数の組み合わせで代用できます。
=DATE(YEAR(A1), MONTH(A1) + 3, DAY(A1))
これはEDATE(A1, 3)と同じ動作になります。
EDATEと似た関数にEOMONTH関数があります。違いは以下のとおりです。
たとえば、
=EOMONTH("2025/01/01", 1)
→ 結果:「2025/02/28」
これは支払締日や月末処理などでよく使われます。
EDATE関数は、日付を「月単位」で自在に操作できる強力なツールです。ビジネスシーンにおいては、契約管理、請求スケジュール、支払計画など、あらゆるシーンで活用できます。
ポイントをおさらいします。
=EDATE(日付, 月数)
Excel初心者の方も、まずは簡単な例から試して、少しずつ実務に応用していきましょう。繰り返し使うことで、確実にスキルが身につきます!