更新日:、 作成日:

エクセル DATEDIF 関数:日付の期間を取得する

はじめに

エクセルの DATEDIF 関数の使い方を紹介します。

DATEDIF 関数は 2 つの日付の期間を年数や月数、日数などで取得します。

=DATEDIF(A1,A2,"Y") のようにして、日付の期間の満年数を計算できます。年齢の何歳です。

=DATEDIF(A1,A2,"YM") のようにして、1 年未満の満月数を計算できます。年齢の何ヵ月です。

=DATEDIF(A1,A2,"D") のようにして、満日数を計算できます。

うるう年に対応しています。年齢などの満年数や満月数を取得するのに使用します。

日数や月数を計算する方法は「日付の日数計算をする」をご覧ください。
年齢を計算する方法は「年齢計算する方法」をご覧ください。

DATEDIF 関数の引数

DATEDIF(開始日, 終了日, 単位)
開始日から終了日までの期間を指定した単位で取得します。

引数「開始日」期間の開始となる日付を指定します。スピル化
引数「終了日」期間の終了となる日付を指定します。スピル化
引数「単位」期間の単位を指定します。スピル化

スピル化:セルの範囲や配列を指定すると結果が「スピル」します。

引数「単位」

単位 説明
"Y"満年数
"M"満月数
"D"満日数
"YM"1 年未満の満月数
"YD"1 年未満の満日数
"MD"1ヶ月未満の満日数

使い方

DATEDIF 関数の使い方を紹介します。

年数を計算する

引数「単位」に "Y" を入力して、日付の満年数を取得します。この値が年齢になります。

=DATEDIF(B3,C3,"Y")

満ではなく日数を考慮した年数を取得するには、結果に 1 を加えます。

=DATEDIF(B4,C4,"Y")+1

日数を無視して月数を考慮した年数を取得するには「YEAR, MONTH, DAY 関数」を使用して計算します。年に 12 を掛けて月数にして計算しています。

=INT(((YEAR(C5)*12+MONTH(C5))-(YEAR(B5)*12+MONTH(B5)))/12)

月数を無視して年数を取得するには「YEAR 関数」を使用して計算します。

=YEAR(C6)-YEAR(B6)
13

月数を計算する

引数「単位」に "M" を入力して、日付の満月数を取得します。

=DATEDIF(B3,C3,"M")

満ではなく日数を考慮した月数を取得するには、結果に 1 を加えます。

=DATEDIF(B4,C4,"M")+1

日数を無視して月数を取得するには「YEAR, MONTH, DAY 関数」を使用して計算します。年に 12 を掛けて月数にして計算しています。

=(YEAR(C5)*12+MONTH(C5))-(YEAR(B5)*12+MONTH(B5))
14

日数を計算する

引数「単位」に "D" を入力して、日付の満日数を取得します。「DAYS 関数」を使用したり、セルの引き算でも計算できます。

=DATEDIF(B3,C3,"D")
=DAYS(C4,B4)
=C5-B5
  • DATEDIF 関数:時間を無視します。開始日が終了日を超えるときはエラー #NUM! になります。
  • DAYS 関数:時間を無視します。
  • 引き算:時間を含めた結果になるので、日時のときは時間を表す小数が付きます。

満ではない日数を取得するには、結果に 1 を加えます。

=DATEDIF(B6,C6,"D")+1
15

1 年未満の月数を計算する

引数「単位」に "YM" を入力して、日付の 1 年未満の満月数を取得します。この値が年齢の何ヵ月になります。

=DATEDIF(B3,C3,"YM")

満月数が 12 になるごとに結果が 0 に戻ります。

16

1 年未満の満日数を計算する

引数「単位」に "YD" を入力して、日付の 1 年未満の満日数を取得します。

=DATEDIF(B3,C3,"YD")

満日数が 365 (うるう年なら 366) になるごとに結果が 0 に戻ります。

17

1 ヶ月未満の満日数を計算する

引数「単位」に "MD" を入力して、日付の 1 ヶ月未満の満日数を取得します。

=DATEDIF(B3,C3,"MD")

日がその日になるごとに結果が 0 に戻ります。

18

解説

DATEDIF 関数は関数の挿入や入力候補には表示されません。手入力する必要があります。

引数「開始日」が引数「終了日」を超えるときはエラー #NUM! になります。「DAYS 関数」を使用して、マイナスの日数を計算できます。

引数「単位」が "Y" のときは、引数「開始日」が 2000/1/15 なら 2001/1/14 までが 0 で、2001/1/15 から 1 ヵ年になります。

引数「単位」が "M" のときは、引数「開始日」が 2000/1/15 なら 2000/2/14 までが 0 で、2000/2/15 から 1 ヵ月になります。

引数「単位」が "YM" のときは、"M" で 12 になるごとに 0 に戻ります。

引数「単位」が "YD" のときは、"D" で 365 (うるう年なら 366) になるごと 0 に戻ります。

引数「単位」は大文字小文字を区別しません。