【Excel関数】2つの日付の期間をカウントする(年数、月数、日数)

【Excel関数】2つの日付の期間をカウントする(年数、月数、日数)

今回は、Excelで関数を使って2つの日付の期間をカウントする方法をご紹介します。

Excelで2つの日付の期間をカウントするには、DATEDIF関数を使います。

この関数を使えば、日付Aから日付Bまでの期間を、年数、月数、日数などでカウントすることができます。

DATEDIF関数とは

今回ご紹介するDATEDIF関数は、開始日と終了日の差分を指定した単位でカウントする関数です。

DATEDIF関数の構文

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

単位には以下のような引数を使用します。

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

「Y」「M」「D」は、それぞれ「Year」「Month」「Day」の頭文字です。

注意
  • 開始日が終了日よりも大きい場合はエラーになります。
  • 単位の引数「MD」は正確な期間が計算されない場合があります。

日付Aと日付Bの期間をカウントする方法

例:「B4」セルが開始日、「C4」セルが終了日。この2つの日付の期間を「満年数」「1年未満の月数」「1ヶ月未満の日数」で表示する。

このような場合は、以下のような数式を入力します。

セル 数式
「満年数」を表示したいセル =DATEDIF(B4,C4,”Y”)
「1年未満の月数」を表示したいセル =DATEDIF(B4,C4,”YM”)
「1ヶ月未満の日数」を表示したいセル =DATEDIF(B4,C4,”MD”)

こうすると、B4セルからC4セルの期間が、何年何ヶ月何日なのかわかります。

【Excel関数】2つの日付の期間をカウントする(年数、月数、日数)

日付Aと現在の期間をカウントする方法

例:「B5」セルが開始日、「現在の日付」が終了日。この2つの日付の期間を「満年数」「1年未満の月数」「1ヶ月未満の日数」で表示したい。

このような場合は、以下のような数式を入力します。

セル 数式
「満年数」を表示したいセル =DATEDIF(B5,TODAY(),”Y”)
「1年未満の月数」を表示したいセル =DATEDIF(B5,TODAY(),”YM”)
「1ヶ月未満の日数」を表示したいセル =DATEDIF(B5,TODAY(),”MD”)

さきほどと違うのは、「終了日」に「セル番地」ではなく「TODAY関数」を使っているところです。

こうすると、B5セルから現在までの期間が、何年何ヶ月何日なのかわかります。

【Excel関数】2つの日付の期間をカウントする(年数、月数、日数)

一つのセルに「満年数」「1年未満の月数」「1ヶ月未満の日数」を表示する方法

上記のやり方だと「満年数」「1年未満の月数」「1ヶ月未満の日数」がそれぞれ別のセルに表示されますが、一つのセルにまとめて表示することもできます。

その場合は、期間を表示したいセルに以下のような数式を入力します。

=DATEDIF(開始日,終了日,”Y”)&”年”&DATEDIF(開始日,終了日,”YM”)&”ヶ月”&DATEDIF(開始日,終了日,”MD”)&”日”

【Excel関数】2つの日付の期間をカウントする(年数、月数、日数)

開始日と終了日は、該当するセル番地もしくは関数に変更してください。

Excelで一つのセルに数式・関数・文字列を複数入れるには?Excelで1つのセルに複数の数式・関数・文字列を入れる方法

まとめ

以上、Excelで関数を使って2つの日付の期間をカウントする方法でした。

DATEDIF関数を使えば、誕生日から年齢を計算したり、入社日から勤続年数を計算したりできます。

便利なのでぜひ覚えておきましょう!