Excel関数 逆引き集 | 勤続年数を求める → DATEDIF

Excel
スポンサーリンク

概要

勤続年数(入社からの年・月・日)を最短で計算するなら DATEDIF 関数が王道です。指定した開始日から終了日までの差を「年だけ」「月だけ」「日だけ」などの単位で返せます。TODAY() を終了日にすれば“今日現在”の勤続年数が一発で出せますし、「X年Yか月Z日」といった人事帳票向け表記にも簡単に整形できます。


基本の使い方

書式

=DATEDIF(開始日, 終了日, 単位)
  • 単位には “Y”(年), “M”(月), “D”(日), “YM”(年を除いた残りの月), “MD”(月を除いた残りの日), “YD”(年を除いた残りの日)を指定します。

例(今日現在の勤続“年”)

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

A2が入社日。今日までの“満年数”だけを返します(端数の月・日は切り捨て)。


具体例

今日現在の「X年Yか月Z日」

=DATEDIF(A2, TODAY(), "Y") & "年" &
DATEDIF(A2, TODAY(), "YM") & "か月" &
DATEDIF(A2, TODAY(), "MD") & "日"

人に見せる帳票や証明書にそのまま使える整形です。

退職日・評価基準日など“任意の日付まで”の勤続年数

=DATEDIF(A2, B2, "Y")

A2:入社日、B2:評価基準日。B2が未来でも過去でもOK(開始<=終了が必須)。

勤続“満◯年”達成日を求める

=EDATE(A2, 12*C2)

A2から C2 年後の到達日(12×年数の月加算)。例:5年なら 60 か月後。


応用テンプレート

勤続年数を「年・月」だけで表示(端数日は無視)

=DATEDIF(A2, TODAY(), "Y") & "年" & DATEDIF(A2, TODAY(), "YM") & "か月"

勤続“満3年”に達しているか判定(TRUE/FALSE)

=DATEDIF(A2, TODAY(), "Y") >= 3

勤続月数の総計(ボーナス計算などに)

=DATEDIF(A2, TODAY(), "M")

勤続日数の総計(休暇付与ロジックの基礎)

=DATEDIF(A2, TODAY(), "D")

勤続年数を端数込み“年小数”でざっくり出す(参考)

=YEARFRAC(A2, TODAY())

人事の正式表記は DATEDIF の「年・月・日」の組み合わせを推奨。YEARFRAC は概算に便利。


よくあるつまずきと対策

開始日が終了日より後だとエラー

DATEDIFは “開始 <= 終了” が前提です。入社日(開始)と基準日(終了)の前後関係を必ず確認してください。

“満”年数・月数で返る仕様

“Y” や “M” は端数切り捨ての“満”年数・月数です。端数まで表示したいときは “YM” や “MD” を組み合わせて整形します。

表示が数字になってしまう

DATEDIFの出力は数値です。そのまま使うなら OK、文字列整形したいときは & で単位を付けるか TEXT を使ってください。

うるう年・月末も自動調整

DATEDIFは暦通りに計算します。2/29 をまたぐケースや 31日始まりなども正しく扱われます(手計算とのズレを避けられます)。

文字列日付は避ける

“YYYY/MM/DD” を“文字列”で持つと環境依存で誤解釈あり。入社日・基準日は“日付型”で入力するか、DATE(年,月,日)で生成しましょう。


例題

問題1: A2の入社日から今日までの“満年数”をB2に表示してください。

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

問題2: A2の入社日から今日までの「X年Yか月Z日」をC2に表示してください。

=DATEDIF(A2, TODAY(), "Y") & "年" & DATEDIF(A2, TODAY(), "YM") & "か月" & DATEDIF(A2, TODAY(), "MD") & "日"

問題3: A2の入社日から評価基準日D2までの“満月数”をE2に表示してください。

=DATEDIF(A2, D2, "M")

問題4: A2の入社日が“満3年”に達しているかをTRUE/FALSEでF2に表示してください。

=DATEDIF(A2, TODAY(), "Y") >= 3

問題5: A2の入社日の“満5年達成日”をG2に表示してください。

=EDATE(A2, 12*5)

まとめ

勤続年数は DATEDIF で“年・月・日”を切り分けるのが最短。基準日は TODAY() で“今日現在”、任意の評価日も指定可能。表示は「Y+YM+MD」の組み合わせで人事帳票にそのまま使えます。達成日の算出は EDATE、概算の年小数は YEARFRAC——この組み合わせを押さえると、勤続管理や人事レポートがシンプルに安定運用できます。

タイトルとURLをコピーしました