MENU

DATEDIFとは?エクセルで日付の差を簡単に計算する方法

エクセルで日付の差を計算したいとき、「DATEDIF(デイトディフ)」関数はとても便利な機能です。しかし、エクセルの関数一覧には表示されないため、意外と知られていない隠れた関数でもあります。この記事では、DATEDIF関数の基本的な使い方や注意点、よくある活用例まで、初心者にもわかりやすく解説します。

目次

DATEDIF関数とは?

DATEDIF関数は、2つの日付の間の「差」を求めるためのエクセル関数です。たとえば、誕生日から今日までの年数や、プロジェクトの開始日から終了日までの日数など、日付同士の間隔を簡単に計算できます。

基本の書式

=DATEDIF(開始日, 終了日, 単位)
  • 開始日:計算を始める日付(例:A1セルに日付が入っている場合はA1)
  • 終了日:計算を終える日付(例:B1セルに日付が入っている場合はB1)
  • 単位:どの単位で差を求めるかを指定(”Y”、”M”、”D”など)

主な単位の種類

単位意味
“Y”年数の差2020/1/1~2023/1/1 → 3年
“M”月数の差2020/1/1~2020/4/1 → 3か月
“D”日数の差2020/1/1~2020/1/10 → 9日
“MD”日だけの差(年・月は無視)2020/1/1~2020/2/5 → 4日
“YM”月だけの差(年は無視)2020/1/1~2021/4/1 → 3か月
“YD”日だけの差(年は無視)2020/1/1~2021/1/10 → 9日

DATEDIF関数の使い方

年数の差を求める

たとえば、A1セルに「2000/4/1」、B1セルに「2024/6/24」と入力されている場合、年数の差を求めるには次のように入力します。

=DATEDIF(A1, B1, "Y")

この場合、24年と表示されます。

月数の差を求める

=DATEDIF(A1, B1, "M")

この場合、289か月と表示されます。

日数の差を求める

=DATEDIF(A1, B1, "D")

この場合、8850日と表示されます。

年と月を組み合わせて表示する

年と月を組み合わせて「○年○か月」と表示したい場合は、次のように工夫します。

=DATEDIF(A1, B1, "Y") & "年" & DATEDIF(A1, B1, "YM") & "か月"

このようにすると、「24年1か月」といった形で表示できます。

DATEDIF関数の注意点

1. 開始日が終了日より後だとエラーになる

DATEDIF関数は、開始日が終了日よりも後の場合、エラー(#NUM!)になります。必ず開始日が前、終了日が後になるようにしましょう。

2. エクセルの関数一覧に表示されない

DATEDIFは、エクセルの関数一覧や関数の自動入力候補には表示されません。手入力で関数名を入力する必要があります。

3. 「MD」「YM」「YD」単位は特殊な計算

「MD」「YM」「YD」は、年や月を無視して日や月だけの差を計算します。たとえば「MD」は、月が違っても日だけの差を計算するため、直感と異なる結果になることがあります。

4. うるう年や月末の扱いに注意

DATEDIF関数は、うるう年や月末の日付の扱いで思わぬ結果になることがあります。特に「MD」や「YM」単位を使う場合は、計算結果をよく確認しましょう。

DATEDIF関数の活用例

1. 年齢の自動計算

誕生日(A1)から今日までの年齢を自動で計算したい場合:

=DATEDIF(A1, TODAY(), "Y")

2. 勤続年数の計算

入社日(A1)から退職日(B1)までの勤続年数と月数を表示:

=DATEDIF(A1, B1, "Y") & "年" & DATEDIF(A1, B1, "YM") & "か月"

3. プロジェクトの期間(日数)の計算

開始日(A1)から終了日(B1)までの期間(日数)を求める:

=DATEDIF(A1, B1, "D")

4. 保険や契約の満了日までの残り期間

契約開始日(A1)と満了日(B1)から、残りの年数や月数を計算できます。

DATEDIF関数が使えない場合の代替方法

DATEDIF関数がうまく動作しない場合や、より柔軟な計算が必要な場合は、他の関数を組み合わせて計算することもできます。

日数の差を計算する場合

=B1 - A1

セルの書式設定を「標準」または「数値」に変更すると、日数が表示されます。

年数や月数の差を計算する場合

年数や月数の差を正確に求めるには、YEAR関数やMONTH関数を組み合わせて計算する方法もありますが、うるう年や月末の扱いなどでDATEDIFの方が簡単な場合が多いです。

まとめ

DATEDIF関数は、エクセルで日付の差を簡単に計算できる便利な関数です。年齢計算や勤続年数、プロジェクト期間の算出など、さまざまな場面で活用できます。ただし、開始日と終了日の順序や特殊な単位の扱いには注意が必要です。エクセルで日付の計算をしたいときは、ぜひDATEDIF関数を活用してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ブログ運営者。日常の気づきから、言葉の意味、仕組みやトレンドまで「気になったことをわかりやすく」まとめています。調べて納得するのが好き。役立つ情報を、肩の力を抜いて発信中。

コメント

コメントする

目次