ExcelのEDATE関数を使って指定した月数後の日付を取得する方法や、日数と年数を追加する方法をご紹介します。開始日を常に今日にする方法や、EDATE関数が上手くいかない場合の解決方法についても解説しているので、ぜひ参考にしてみてください。
EDATE関数の使い方
EDATE関数は基本的に月数を計算するのに使用しますが、日数や年数を追加することも可能です。またセルの表示形式は、日付に設定しておきましょう。
nヵ月後の日付
EDATE関数は開始日から起算して、指定した「月数」だけ前または後ろの日付を返します。
例えば EDATE(A2,1) なら返り値は、 2023/4/1 から1ヶ月後ろの日付 である2023/5/1 です。
EDATE関数の構成要素:(開始日, 月数)
開始日より前の日付を取得する場合は、月数にマイナスの数値を指定してください。
例えば EDATE(A2,-3) なら、2023/4/1 より3ヶ月前の日付である 2023/1/1 を返します。
開始日に日付を文字列として直接入力した場合、エラーが発生することがあります。
nヶ月n日後の日付
日付を追加する場合は、算術演算子(+、-)でEDATE関数の後ろに日数を追加します。
例えば EDATE(A2,1)+7 なら、開始日から1ヶ月と7日後ろの日付です。
週数の場合はEDATE(A2,1)+7*2のように、1週間(7日)に週数を乗算してください。
n年後の日付
年数の場合は、指定の年数を1年間の月数(12ヶ月 )に乗算してください。
例えば EDATE(A2,12*2) なら、開始日から2年後ろの日付です。
n年nヵ月後の日付
年数に月数を追加する場合は、年数の計算式の直後に算術演算子(+、-)で月数を指定します。
例えば EDATE(A2,12*2+3) なら、開始日から2年と3ヶ月後ろの日付です。
n年nヶ月n日後の日付
何月日すべての場合は月数に年月の合計月数を指定し、最後に日数を追加します。
例えば EDATE(A2,12*2+3)+7 なら、開始日から2年と3ヶ月と7日後ろの日付です。
今日からnヵ月後の日付
今日を起点とする場合は、開始日にTODAY関数を指定してください。
TODAY関数は、現在の日付に対応するシリアル値を返します。例えば EDATE(TODAY(),1)なら、今日から1ヶ月後ろの日付です。
TODAY関数の構成要素:(なし)
EDATE関数が使えない原因
EDATE関数が使えない原因を 3 つ後紹介します。このほかにも数式の計算方法が自動になっているか、関数のスペルは正しいかどうか確認してみてください。
#VALUE!エラーになる
EDATE関数内に指定した、データ形式が正しくないのが原因です。
この場合4月は文字列なので、正しい日付形式で開始日を入力しなおしましょう。なお単に 4/1 などと入力した場合でも年度が補正されており、これは数式バーで確認できます。
月だけを表示させたい場合は、書式設定のユーザー定義(m”月”)で設定可能です。
表示される日付がおかしい
開始日に日付を直接指定した場合で、日付を文字として入力しているのが原因です。
日付は EDATE(DATE(2023,4,1),1) のようにDATE関数を使って入力するか、他の数式または他の関数の結果を指定してください。
DATE関数の構成要素:(年, 月, 日)
日付が数字になる
初期状態で、EDATE関数の結果はシリアル値(数字)で表示されます。
日付として表示させるにはホームタブの表示形式を、[日付]に設定しましょう。