サラリーマン戦士が語る、Excelに載っていない“隠れ関数”の本当の実力
サラリーマンとして日々Excelと戦っていると、 「年齢を自動計算したい」 「勤続年数を正確に出したい」 「契約期間の経過日数を知りたい」 「プロジェクトの経過月数を計算したい」 という場面が必ず出てきます。
しかし、Excelの関数一覧を見ても、 年齢や勤続年数を計算する関数は載っていません。
そこで登場するのが、Excelの“隠れ関数” DATEDIF関数 です。
DATEDIFは、 「2つの日付の差」を 年・月・日 単位で計算できる最強の期間計算関数。 実務でめちゃくちゃ使えるのに、なぜかExcelの関数一覧に載っていません。
この記事では、DATEDIFの基本から応用、 そしてサラリーマン戦士として実務で使ってきた感想まで、 徹底解説します。
🔍 DATEDIF関数の書式
コード
=DATEDIF(開始日, 終了日, 単位)
✔ 引数の意味
- 開始日:基準となる日付
- 終了日:終了日
- 単位:計算方法(”Y” “M” “D” など)
📘 単位(”Y” “M” “D”)の意味一覧
| 単位 | 意味 | 例 |
|---|---|---|
| “Y” | 年数(端数切り捨て) | 5年 |
| “M” | 月数(端数切り捨て) | 62ヶ月 |
| “D” | 日数 | 450日 |
| “YM” | 年を除いた月数 | 2ヶ月 |
| “YD” | 年を除いた日数 | 15日 |
| “MD” | 月を除いた日数 | 10日 |
DATEDIFは「年・月・日」を自由に組み合わせられるのが最大の強みです。
🎯 年齢を自動計算(実務で最も使う)
誕生日:A2 今日の日付:TODAY()
コード
=DATEDIF(A2, TODAY(), "Y")
→ 満年齢が返る。
人事・総務・名簿作成で必須のテクニックです。
🎯 勤続年数を計算(人事・総務で必須)
入社日:A2 今日:TODAY()
コード
=DATEDIF(A2, TODAY(), "Y")
→ 勤続◯年
🔥 年齢を「◯年◯ヶ月」で表示する
コード
=DATEDIF(A2, TODAY(), "Y") & "年" &
DATEDIF(A2, TODAY(), "YM") & "ヶ月"
→ 35年2ヶ月 のように表示。
履歴書・人事台帳・社員一覧で大活躍します。
📅 経過日数を求める(プロジェクト管理)
開始日:A2 終了日:B2
コード
=DATEDIF(A2, B2, "D")
→ 経過日数が返る。
📅 経過月数を求める(契約・サブスク管理)
コード
=DATEDIF(A2, B2, "M")
→ 経過月数が返る。
🧩 年・月・日をまとめて表示(完全版)
コード
=DATEDIF(A2, B2, "Y") & "年" &
DATEDIF(A2, B2, "YM") & "ヶ月" &
DATEDIF(A2, B2, "MD") & "日"
→ 2年3ヶ月10日 のように表示。
契約期間・プロジェクト期間の表示に最適です。
🔄 今日までの経過日数(よく使う)
コード
=DATEDIF(A2, TODAY(), "D")
🛠 DATEDIFのよくあるミスと注意点
❗ 1. Excelの関数一覧に出てこない
→ 隠し関数だが、正式に使える。
❗ 2. 開始日 > 終了日だとエラー
→ 必ず 開始日 ≤ 終了日 にする。
❗ 3. “MD” は月をまたぐと誤差が出る
→ 正確な日数は “D” を使う。
❗ 4. 単位は必ず「” “」で囲む
コード
"Y" "M" "D"
📊 DATEDIF と NETWORKDAYS の違い
| 目的 | 関数 |
|---|---|
| 経過日数・年齢・勤続年数 | DATEDIF |
| 営業日数(平日) | NETWORKDAYS |
| 営業日後の日付 | WORKDAY |
DATEDIFは「純粋な日付差」、 NETWORKDAYS / WORKDAY は「営業日ベースの計算」です。
🧑💼 サラリーマン戦士が実際に使ってみた感想
サラリーマン戦士がDATEDIFを初めて使ったとき、 「なんでこの関数、Excelに載ってないんだ…?」 と本気で驚きました。
特に感じたメリットは以下の通りです。
✔ 年齢・勤続年数の自動計算が神レベル
人事・総務の名簿作成が一瞬で終わる。
✔ 契約期間の計算が正確
「◯年◯ヶ月◯日」の表示が簡単に作れる。
✔ TODAY()との組み合わせが最強
今日時点の年齢・経過日数を常に自動更新。
✔ 隠れ関数なのに実務で最強
Excelの関数一覧に載っていないのが不思議なくらい便利。
サラリーマン戦士として、 「期間計算はDATEDIF一択」 と断言できます。
📝 まとめ:DATEDIFは“期間計算の最強ツール”
- 年齢・勤続年数・経過日数を自動計算
- 年・月・日を自由に組み合わせ可能
- TODAY()と組み合わせると最強
- Excelに表示されない隠れ関数
- 実務で必ず役に立つ期間計算の基本
Excelで日付管理をするなら、 DATEDIFは絶対に覚えておきたい関数です。
コメントを残す