DATEDIF 関数

適用先
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016 Windows SharePoint Services 3.0

2 つの日付間の日数、月数、年数を計算します。

警告

  • Excel では、Lotus 1-2-3 の古いブックをサポートするために、DATEDIF 関数が用意されています。 DATEDIF 関数では、特定のシナリオで誤った計算結果を返すことがあります。 詳細については、この記事の既知の問題のセクションを参照してください。
  • ヒント: 2 つの日付間の日数を求める場合は、前の日付から後の日付を減算するだけです。 これは、日付が Excel に数値として保存されるために動作します。

書式

DATEDIF(開始日,終了日,単位)

引数 説明
start_date
必須
特定の期間の開始日または開始日を表す日付。 日付は、文字列として二重引用符で囲んだ文字列 (たとえば、"2001/1/30")、シリアル番号 (たとえば、36921、1900 年の日付システムを使用している場合は、2001 年 1 月 30 日を表します)、または他の数式や関数の結果 (たとえば、DATEVALUE("2001/1/30")) として入力できます。
end_date
必須
期間の最終日 (終了日) を表す日付。
単位 返したい情報の種類。ここで、Unit****Returns"Y"期間内の完全な年数。"M"期間内の完全な月数。"D"期間の日数。"MD「start_dateとend_dateの日の差。 日付の月数および年数は無視されます。
重要: "MD" 引数には既知の制限があるため、使用はお勧めしません。 以下の既知の問題のセクションを参照してください。"YM「start_date月とend_date月の差。 日付の日と年は無視され、「YD」のstart_dateとend_dateの日の差。 日付の年数は無視されます。

解説

  • 日付は連続したシリアル値として保存され、日付の計算が行われています。 既定では、1900 年 1 月 1 日がシリアル値 1 として保存され、2008 年 1 月 1 日は 1900 年 1 月 1 日から 39,447 日後に当たるので、シリアル値は 39448 になります。
  • DATEDIF 関数は年齢を計算する数式で利用すると便利です。
  • start_dateend_dateより大きい場合、結果は #NUM! になります。

開始日 終了日 数式 説明 (計算結果)
2001/01/01 2003/01/01 =DATEDIF(開始日,終了日,"Y") 期間内の 2 年 (2)
2001/06/01 2002/08/15 =DATEDIF(開始日,終了日,"D") 2001/6/1 から 2002/8/15 までの 440 日 (440)
2001/06/01 2002/08/15 =DATEDIF(開始日,終了日,"YD") 日付の年数は無視されるため、6/1 から 8/15 までの 75 日 (75)

既知の問題

"MD" 引数は、負の値、ゼロ、または不正確な結果を返すことがあります。 1 か月が過ぎた後で、残りの日数を計算するには、こちらの回避策をお試しください。

=DATEDIF(D17,E17,md) と結果: 5 この数式は、セル E17 の元の終了日 (2016 年 5 月 6 日) から終了月の最初の日 (2016 年 5 月 1 日) を減算します。 この方法を次に示します。まず、DATE 関数で、2016 年 5 月 1 日という日付を作成します。 これは、セル E17 の年とセル E17 の月を使用して作成します。 1 は、その月の第 1 日目を示します。 DATE 関数の結果は 2016 年 5 月 1 日を返します。 その値をセル E17 にある元の最終日 2016 年 5 月 6 日から減算します。 2016 年 5 月 6 日から 2016 年 5 月 1 日を引いた値は 5 日です。

補足説明

Excel 技術コミュニティの専門家にいつでも質問するか、コミュニティでサポートを受けることができます。