Excel関数 逆引き集 | 指定月後の日付 → EDATE

Excel
スポンサーリンク

概要

「指定した月数だけ前後にずらした同日」を求めるなら、EDATE関数が最短です。EDATEは基準日から「nか月後(または前)」の同じ“日”を返します。月末や31日問題も自動調整されるため、契約更新日・支払予定日・満期日など“月単位のスケジュール”に最適です。


基本の使い方

書式

=EDATE(開始日, 月数)
  • 開始日:セル参照、DATE、TODAY、NOWなどの日付。
  • 月数:正なら未来(+)、負なら過去(−)。例:+3で3か月後、-12で1年前。

=EDATE("2025/12/17",3)   // 2026/03/17(3か月後)
=EDATE(DATE(2025,12,17),-1) // 2025/11/17(1か月前)

具体例

セル参照で「nか月後」を求める

=EDATE(A2, B2)

A2が基準日、B2が月数。B2に「6」なら6か月後の同日。

TODAYと組み合わせて「来月の同日」

=EDATE(TODAY(),1)

今日の“翌月同日”を返します。

月末開始の調整(31日→月末補正)

=EDATE(DATE(2025,1,31),1)

結果は「2025/02/28」(うるう年なら「2024/02/29」のように自動調整)。


応用テンプレート

契約開始日から満期日(12か月後)

=EDATE(開始日セル,12)

分割支払いの各支払日(1か月刻み)

=EDATE(初回支払日, ROWS($A$1:A1)-1)

縦にオートフィルすれば「初回から毎月1か月ずつ」増やせます。

年単位のずらし(12か月単位)

=EDATE(基準日, 12*年数セル)

年数が2なら24か月後。

指定月後の月末を取りたい(同日ではなく月末)

=EOMONTH(基準日, 月数)

EDATEは“同日”、EOMONTHは“月末”。用途で使い分けます。


よくあるつまずきと対策

結果が数値で表示される

EDATEは日付のシリアル値を返します。結果セルの表示形式を「日付」に変更しましょう(例:yyyy/mm/dd)。

“同日”が存在しない月

基準日が31日などで、移動先の月に同日がない場合は自動で「その月の末日」に調整されます。意図と合えばOK、必ず“末日”を取りたいならEOMONTHを使います。

文字列日付の解釈ズレ

「2025/12/17」を文字列として扱うと環境差で誤解釈の可能性。DATEで生成するか、セルに正しく日付入力を。

時刻付きの扱い

NOWで時刻を含む場合もEDATEは“日付部分”を月ずらしします。表示で時刻が必要なら「表示形式」を日時に。


例題

問題1: A2セルの基準日から3か月後の同日をB2に表示してください。

解答例:

=EDATE(A2,3)

問題2: 今日から1か月前の同日をC2に表示してください。

解答例:

=EDATE(TODAY(),-1)

問題3: D2セルに「2025/1/31」があるとき、1か月後の日付をE2に表示してください(自動調整の確認)。

解答例:

=EDATE(D2,1)

問題4: F2セルの契約開始日から満期(24か月後)の日付をG2に表示してください。

解答例:

=EDATE(F2,24)

問題5: H2セルの基準日から“翌月末日”をI2に表示してください(同日ではなく末日)。

解答例:

=EOMONTH(H2,1)

まとめ

EDATEは「月単位で同日をずらす」ための定番関数です。スケジュール、契約、支払い、更新など“月ベース”の日付ロジックが一行で書けます。31日問題は自動で末日に補正される点を覚え、末日狙いならEOMONTHに切り替える——この使い分けが実務のコツです。

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