みんなのエクセル表計算
中級

【Excel】EDATE関数-開始日から起算し指定月数だけ前or後の日付に対応するシリアル値を返す関数-


(約文字)

2019-11-19

【Excel】EDATE関数-開始日から起算し指定月数だけ前or後の日付に対応するシリアル値を返す関数-

【Excel】EDATE関数-開始日から起算し指定月数だけ前or後の日付に対応するシリアル値を返す関数-

EDATE関数とは

エクセルの「EDATE関数(エクスパイレーション・デート:Expiration Date)」は開始日から起算し指定月数だけ前or後の日付に対応するシリアル値を返す関数です。

まず結論

EDATE関数を使うと、開始日から起算し指定月数だけ前or後の日付に対応するシリアル値を求めることができます。まずは開始日、月の意味を押さえ、使用例と注意点を確認すると実務で使い分けやすくなります。

  • このページで分かること
  • EDATE関数でできることと基本の使いどころ
  • 構文と引数の意味
  • EDATE関数の使用例

この関数を使うと、伝票発行日と同じ日に該当する支払日や、定期預金の満期日を求めることが可能になります。

構文と引数

  • 365
  • 2019
  • 2016
  • 2013
  • 2010
  • 2007

=EDATE(開始日,月)

引数 必要性 内容
開始日 必須 起算日を表す日付を指定します。日付は、DATE関数を使い入力するか、他の数式や他の関数の結果を指定します。たとえば、2019年11月19日を入力する場合は、DATE(2019,11,19) を使用します。日付を文字列として入力した場合、エラーが発生することがあります。
必須 開始日から起算した月数を指定します。"月" に正の数を指定すると起算日より後の日付を返します。負の数を指定すると起算日より前の日付を返します。

EDATE関数の解説

  • ・Excel では、日付を連続したシリアル値として処理することで、日付の計算が行われています。 既定では、1900年1月1日がシリアル値1として保存され、2019年11月19日は1900年1月1日から43,788日後に当たるので、シリアル値は43788になります。
  • ・開始日に無効な日付を指定すると、エラー値#VALUE!が返されます。
  • ・月に整数以外の値を指定すると、小数点以下は切り捨てられます。
出典:Microsoft - Office サポート

EDATE関数の使用例

3ヶ月後の日付を求める

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

2024/4/15 と表示されます。開始日から3ヶ月後の同じ日を返します。

2ヶ月前の日付を求める

=EDATE("2024/3/15",-2)

2024/1/15 と表示されます。月に負の数を指定すると、開始日より前の日付を返します。

関連する関数

  • DAY関数:シリアル値を日付の”日”に変換した値を返す関数
  • DAYS関数:2つの日付の間の日数を求める
  • DAYS360関数:1年を360日(30日x12ヶ月)として、支払い計算などに使う2つの日付の間の日数を求める関数

よくある質問

Q. EDATE関数は何をするときに使いますか?

EDATE関数は、開始日から起算し指定月数だけ前or後の日付に対応するシリアル値を求めるときに使います。 とくに DATE関数 など近い関数との違いを合わせて押さえると、使い分けしやすくなります。

Q. EDATE関数がうまく動かないときは何を確認すればよいですか?

まず 開始日、月 の指定方法を見直し、開始日と終了日、表示形式、日付のシリアル値として認識されているか を確認してください。

よくある失敗例・エラー対処

EDATE関数で期待通りの結果にならないときは、次の点を確認してください。

  • 開始日、月 の指定が関数の仕様どおりか確認する
  • 開始日と終了日の前後関係が正しいか確認する
  • 日数・月数・年数のどの単位で結果を見たいかを確認する

まとめ

このページでは、EDATE関数について以下を確認しました。

  • ・EDATE関数でできることと基本の使いどころ
  • ・構文と引数の意味
  • ・EDATE関数の使用例