2 つの日付の間の日数、月数、または年数を計算します。
警告: Excel では、Lotus 1-2-3 の古いブックをサポートするために、DATEDIF 関数が用意されています。 DATEDIF 関数では、特定のシナリオで誤った計算結果を返すことがあります。 詳細については、この記事の既知の問題のセクションを参照してください。
書式
DATEDIF(開始日,終了日,単位)
引数 |
説明 |
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
start_date 必須 |
指定した期間の最初の日付または開始日を表す日付。 日付は、引用符 ("2001/1/30" など) 内のテキスト文字列として、シリアル番号 (たとえば、1900 年 1 月 30 日を表す 36921 など) として、または他の数式または関数の結果として入力できます (例: DATEVALUE("2001/1/30")。 |
||||||||||||||
end_date 必須 |
期間の最後の日付または終了日を表す日付。 |
||||||||||||||
単位 |
返される情報の種類。次のようになります。
|
解説
-
日付は連続したシリアル値として保存され、日付の計算が行われています。 既定では、1900 年 1 月 1 日がシリアル値 1 として保存され、2008 年 1 月 1 日は 1900 年 1 月 1 日から 39,447 日後に当たるので、シリアル値は 39448 になります。
-
DATEDIF 関数は年齢を計算する数式で利用すると便利です。
-
s tart_dateが end_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 か月が過ぎた後で、残りの日数を計算するには、こちらの回避策をお試しください。
この数式は、セル 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 Tech Communityで、いつでも専門家に質問できます。また、コミュニティでは、サポートを受けられます。