エクセルで作業をしていると、このような悩みを持ったことはないでしょうか?
・現時点での年齢や勤続年数を簡単に計算したい!
・「1年3ヵ月」みたいに、「年数」や「月数」みたいに表示させたい!
・DATEDIF関数って聞いたことはあるけど、使い方がイマイチ分からない。。
エクセルを使っていると、「日付の差」や「期間」を正確に出したい場面って多いですよね。
ただ、単純な引き算では、「年」や「月」単位で出すのが難しかったりしますよね。。
でも、もう大丈夫!
この記事では、これらの問題を解決に導く「DATEDIF関数」を紹介します!
「エクセルで、年数や月数など、日付の差をうまく計算したい!」
「DATEDIF関数を聞いたことはあるが、使い方がよくわからない。。」と思っている方!
ぜひ一度目を通していただけると嬉しいです!
DATEDIF関数って何?
DATEDIF関数は、2つの日付の差を計算するために使います。
具体的には、開始日と終了日を指定することで、日数や月数、年数などの差を簡単に求めることができます。日付の差を計算したい場合に非常に便利です!
=DATEDIF(開始日, 終了日, 単位)
開始日、終了日はそのままの通りですが、単位は以下6種類があります。
計算したい単位を指定することで、年数であったり、月数であったりとカスタマイズすることができます!
■単位の種類
単位 | 説明 |
“Y” | 年単位で差を返す |
“M” | 月単位で差を返す |
“D” | 日単位で差を返す |
“MD” | 月や年を無視し、日付の差だけを返す |
“YM” | 年を無視し、月だけの差を返す |
“YD” | 年を無視し、日付だけの差を返す |
DATEDIF関数を使うメリットとは?
実際に、DATADIF関数はどういう使い方ができるのだろう?と思いますよね。
DATEDIF単体でも便利な関数ですが、複数使用したり、他の関数と組み合わせることでさらに便利に使用することができます。
どのようなメリットがあるか、紹介していきます。
年数・月数・日数の差をそれぞれ別に計算できる!
DATEDIF関数の最大の強みは、「年数」、「月数」、「日数」だけなど、目的に合わせて差分を柔軟に取り出すことができることです。
通常の引き算では日数しか計算できないですが、年齢を日数で表現すると分かりにくいですよね。。
そういうときは、DATEDIF関数で「年数」だけ計算すれば、簡単に年齢を表現できます!
●年●ヵ月●日のように、分かりやすい表現も可能!
DATEDIF関数を複数使うことで、「●年●ヵ月●日」のような期間の表現をすることもできます。
見る側にとっても分かりやすい、スマートな表現をすることができますね!
IF関数やTEXT関数など、他の関数と組み合わせることで柔軟な出力ができる!
DATEDIF関数は、他の関数と組み合わせることでさらに便利に使うことができます。
例えばIF関数と組み合わせることで、「プロジェクトの経過日数がまだ期限にきてなければ、日数進捗率を表示する」のように、条件付きでの出力も可能です。
他の関数との組み合わせで、さらなる業務効率アップを期待できます。
DATEDIF関数を実際に使ってみると・・・
例えば2020年1月1日から2025年3月2日までの日付の差を求める場合、各単位の結果は以下の通りです!2020年と2024年はうるう年ですが、その日数も考慮されています。

でも日にちをいちいち入力するのも面倒ですよね。
セルに日付を入力しておけば、そのセルを参照して計算することもできます!

DATEDIF関数の活用方法
DATEDIF関数は様々な場面で活躍します!
どのようなシーンで役に立つか、活用方法も合わせて紹介します!
誕生日から年齢を計算
DATEDIF関数では、簡単に年齢を計算することができます!
年齢別での集計や、成人しているか・60歳以上かなどの年齢の確認をするとき、非常に便利です!
以下のように、
・開始日:誕生日
・終了日:今日の日付
・単位:Y
を指定すると、現時点での年齢を計算することができます!

次の誕生日までの日数を計算
次の誕生日まで残り何日あるかも、DATEDIF関数を使えば簡単に計算できます!
通常は誕生日からの経過日数を算出しますが、このように未来へのカウントダウンとしても活用できます!

数式が長いため、以下に記述します。
今回はセルC3に記述している誕生日を参照しているため、使用する箇所によって参照先を変更してください!
=DATEDIF(TODAY(), DATE(YEAR(TODAY()) + IF(DATE(YEAR(TODAY()),MONTH(C2),DAY(C2)) < TODAY(), 1, 0), MONTH(C2), DAY(C2)), "D")
勤続年月を「○年○ヵ月」と分かりやすく表示
DETEDIF関数を使えば、勤続年月も簡単に計算することができます!
また文字列を結合させると、「○年○ヵ月」と分かりやすく表示させることもできます!

=DATEDIF(C3,C4,"y")&"年"&DATEDIF(C3,C4,"ym")&"ヵ月"
また、TEXT関数と組み合わせることで、見た目をきれいに整えることもできます。
例えば「○○年○○ヵ月」など、表示桁数をそろえる場合などに便利です!

数式が長いため、以下に記述します。
今回はセルC3/C4に記述している日付を参照しているため、使用する箇所によって参照先を変更してください!
=TEXT(DATEDIF(C3,C4,"y"),"00"&"年") & TEXT(DATEDIF(C3,C4,"ym"),"00"&"ヶ月")
プロジェクトの進行率を表示
DATEDIF関数を使うと、プロジェクトなどの期限があるものを管理するときも便利です!
例えば、プロジェクト開始から現在どのくらいの進捗率であるかを計算することもできるので、プロジェクトが遅れているかどうか、確認する目安の一つとすることができます!

=IF(C4>C5, DATEDIF(C3,C5,"d")/DATEDIF(C3,C4,"d"), 1)
またデータバー(条件付き書式)なども加えると、視覚的にも進捗具合が分かりやすくなります!

まとめ:DATEDIF関数を使いこなして、日付計算をスマートに!
DATEDIF関数は、日付差を計算するための非常に便利な関数です。
年齢の計算や勤怠管理、プロジェクト管理など、さまざまなシーンで使用できます。
最初は構文に少しクセがありますが、使い方を覚えてしまえば、手作業では面倒な期間計算を一瞬で!実行できてしまいます。
ぜひこの関数を使いこなして、業務効率化に活用されてください!
最後まで読んでいただき、ありがとうございました!
コメント