DATEDIF 関数

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

書式

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

開始日   期間の最初の日付または開始日を表します。 日付の入力には、引用符で囲まれた文字列 (例: "2001/1/30")、シリアル値 (例: 36921、1900 年日付システムでは 2001/1/30 を表します)、他の数式または関数の結果 (例: DATEVALUE("2001/1/30")) を使うことができます。

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

単位   返される情報の種類を指定します。

単位

戻り値

"Y"

期間の年数です。

"M"

期間の月数です。

"D"

期間の日数です。

"MD"

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

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

"YM"

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

"YD"

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

解説

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

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

開始日

終了日

数式

説明 (計算結果)

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

この数式では、最終月の第 1 日目 (2016 年 5 月 1 日) からセル E17 にある元の終了日 (2016 年 5 月 6 日) を減算しています。その仕組みは次のとおりです。まず、DATE 関数が 2016 年 5 月 1 日の日付を作成します。これは、セル E17 の年とセル E17 の月を使用して作成されています。1 は、その月の第 1 日目を示します。DATE 関数の結果は 2016 年 5 月 1 日を返します。その値をセル E17 にある元の最終日 2016 年 5 月 6 日から減算します。5/6/2016 マイナス 5/1/2016 で、5 日です。

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

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

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×