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

警告: Excel では、Lotus 1-2-3 の古いブックをサポートするために、DATEDIF 関数が用意されています。 DATEDIF 関数では、特定のシナリオで誤った計算結果を返すことがあります。 詳細については、この記事の既知の問題のセクションを参照してください。

書式

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

引数

説明

start_date   

必須

特定の期間の最初の日付または開始日を表す日付。 日付は、二重引用符 ("2001/1/30" など)、シリアル値 (たとえば、2001 年 1 月 30 日を表す 36921、1900 年 1 月の日付システムを使用している場合は 36921)、または他の数式や関数の結果 (DATEVALUE("2001/1/30" など) として入力できます。

end_date   

必須

期間の最後または最後の日付を表す日付。

単位   

返される情報の種類を次に示します。

単位

戻り値

"Y"

期間の年数です。

"M"

期間の月数です。

"D"

期間の日数です。

"MD"

開始日から終了日までの日数です。 日付の月数および年数は無視されます。

重要: 制限事項があるため、"MD" 引数の使用はお勧めしません。 以下の既知の問題のセクションを参照してください。

"YM"

開始日から終了日までの月数です。 日付の日数および年数は無視されます。

"YD"

開始日から終了日までの日数です。 日付の年数は無視されます。

解説

  • 日付は連続したシリアル値として保存され、日付の計算が行われています。 既定では、1900 年 1 月 1 日がシリアル値 1 として保存され、2008 年 1 月 1 日は 1900 年 1 月 1 日から 39,447 日後に当たるので、シリアル値は 39448 になります。

  • DATEDIF 関数は年齢を計算する数式で利用すると便利です。

  • s のtart_dateeより大きいnd_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/06) を減算します。 この方法を次に示します。最初に DATE 関数によって、2016/5/1 という日付が作成されます。 セル E17 の年とセル E17 の月を使用して作成します。 次に 、1 はその 月の最初の日を表します。 DATE 関数の結果は 2016/5/1 です。 次に、セル E17 の元の終了日 (2016/5/6) から減算します。 2016/5/6 - 2016/5/1 は 5 日間です。

補足説明

Excel 技術コミュニテでは、いつでも専門家に質問できます。また、Answers コミュニティでは、サポートを受けられます。

関連項目

Excel 関数 (アルファベット順)

Excel 関数 (機能別)

壊れた数式のエラーを回避する方法

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

翻訳品質にどの程度満足していますか?

どのような要因がお客様の操作性に影響しましたか?

その他にご意見はありますか?(省略可能)

フィードバックをお送りいただきありがとうございます!

×