Ecocold サイバー速報

エクセルで平均勤続年数を正確に計算!関数の落とし穴と正しい算出法

2026年10月18日 読了目安: 3 分 Togashi
目次 [ INDEX ]
エクセルで平均勤続年数を正確に計算!関数の落とし穴と正しい算出法
エクセルで平均勤続年数を正確に計算!関数の落とし穴と正しい算出法
@ creator • クリックで動画を再生
🎵 エクセルで平均勤続年数を正確に計算!関数の落とし穴と正しい算出法

有価証券報告書の開示情報作成や各種労務統計、採用ブランディングにおいて、組織の定着度を示す「平均勤続年数」の正確な集計は人事労務担当者に欠かせない実務です。しかし、現場では「計算担当者によって年数や月数の端数処理がバラバラ」「DATEDIF関数で求めた年数を単純平均したら実際の在職期間とズレが生じた」といったトラブルが後を絶ちません。

算出基準日の一致や在籍期間の端数処理、退職者の取り扱いなど、前提ルールを明確に定義しなければ、誤ったデータが経営判断や対外公表数値を狂わせるリスクがあります。本稿では、エクセルを用いた平均勤続年数の計算手順を基礎から体系化し、実務で直面する落とし穴の回避法まで徹底解説します。

📌 【この記事の重要ポイントまとめ】
  • 要点1:個人の「年数」を切り捨ててからAVERAGE関数にかけると大きな誤差が生じるため、月数または実日数ベースで算出して最後に年換算するのが鉄則。
  • 要点2:目的に応じてDATEDIF関数(年月表示向け)とYEARFRAC関数(精密な小数年算出向け)を正しく使い分ける必要がある。
  • 要点3:基準日の統一、退職者データの除外フラグ、就業規則に準じた端数処理をテンプレート化することで集計作業を完全自動化できる。

【実態検証】人事労務の現場で頻発する勤続年数計算のズレと原因

平均 勤続 年数 エクセルの関連写真・ビジュアル
【画像】平均 勤続 年数 エクセル 関連ショット

企業の人事労務部門や給与計算の現場を調査すると、勤続年数の集計ミスは「関数の計算仕様への無理解」と「社内基準の不一致」という2つの要因から生じています。SNSや専門コミュニティでも「前任者のエクセルシートを引き継いだら、手動で月数を切り捨てており合計値が合わない」「有報提出直前に監査法人から端数の根拠を問われパニックになった」という実務担当者の悲鳴が多く見られます。

典型的な失敗例が、各従業員の勤続年数を =DATEDIF(入社日, 基準日, "Y") で整数年(満年数)として算出し、その数値を単純に AVERAGE関数 で平均してしまうケースです。この方法では、例えば「勤続5年11ヶ月」の社員も「勤続5年0ヶ月」として計算されるため、全社規模で見ると平均勤続年数が実態より0.4〜0.6年ほど短く算出される構造的エラーを引き起こします。

有価証券報告書(有報)記載要領や厚生労働省の「賃金構造基本統計調査」では、勤続年数を「1年未満の端数は月数換算(または小数第1位まで表示)」として扱うのが一般的です。全社的な平均勤続年数を正しく導くには、個人の在籍月数を累積して全社員の合計月数を求めたうえで母集団の人数で割り、最後に年換算を行うという論理的順序が不可欠です。

【完全比較】DATEDIF関数とYEARFRAC関数|用途別の最適解

平均 勤続 年数 エクセルの様子・注目ショット
【写真】平均 勤続 年数 エクセル 近影・注目カット

エクセルで勤続年数を算出する代表的な関数として「DATEDIF関数」と「YEARFRAC関数」があります。どちらも期間を求める関数ですが、戻り値の型と用途が根本的に異なります。

比較項目DATEDIF関数YEARFRAC関数編集部の見解・推奨用途
基本構文=DATEDIF(開始日, 終了日, 単位)=YEARFRAC(開始日, 終了日, [基準])目的に合わせた関数の使い分けが必須
算出結果の形式整数(満年数 "Y"、満月数 "M"、日数 "D")小数を含む年数(例:5.416...年)平均値の算出には小数で返るYEARFRACが簡潔
「〇年〇ヶ月」表示単位 "Y" と "YM" を結合して容易に作成可能INT関数やMOD関数との組み合わせが必要個人カルテや辞令交付にはDATEDIFが最適
平均計算への適性"M" で総月数を求めて平均後、12で除算する列全体の値を直接 AVERAGE関数 で平均可能全社平均の集計スピードはYEARFRACが有利
端数処理の制御指定単位未満は自動で「切り捨て」実日数基準(オプション1)で日割り計算労務規程の端数ルールに沿って選定する

【実践ステップ】平均勤続年数を導く正しい計算式と表示形式の全手順

平均 勤続 年数 エクセルの報道・詳細資料
【資料】平均 勤続 年数 エクセル 報道・メディア記録

実務で狂いのない集計を行うための具体的なエクセル計算式と、見栄えを整える表示形式の設定手順を3つのステップで整理します。

ステップ1:在籍月数(または小数年)を個人ごとに算出する

入社日データがセル B2、集計の基準日(例:当年度末 2026年3月31日)がセル $G$1 に入力されている場合、計算列(セル C2)に以下のいずれかの数式を設定します。

  • 月数ベースで求める場合(労務管理の標準):
    =DATEDIF(B2, $G$1, "M")
  • 小数年ベースで直接求める場合:
    =YEARFRAC(B2, $G$1, 1) (※第3引数「1」は実際の日数/実際の日数を指定)

ステップ2:全体の平均値を算出し「年数」に換算する

全社員(例:C2からC101までの100名)の勤続データを集計用セルで計算します。

  • 月数ベースの場合:=AVERAGE(C2:C101) / 12
  • 小数年ベースの場合:=AVERAGE(C2:C101)

ステップ3:エクセルの表示形式で「〇年〇ヶ月」または「〇.〇年」に整える

数値データをそのまま共有すると「12.41666...」といった可読性の低い表記になります。用途に応じた形式へ変換しましょう。

「〇年〇ヶ月」と文字列で明記したい場合は、平均月数(セル E2)に対して次の数式を適用します。
=INT(E2/12) & "年" & MOD(E2, 12) & "ヶ月"

また、有価証券報告書や統計資料向けに「12.4年」と少数第1位で表示したい場合は、エクセルのセルの書式設定から【表示形式】→【ユーザー定義】で 0.0"年" と指定するか、数式内で =ROUND(AVERAGE(C2:C101), 1) として端数処理を実施します。

【退職者・休職者対応】在籍期間の基準日設定と端数処理の鉄則

実務上の集計で最もミスが発生しやすいのが、期中退職者や休職者が含まれる名簿の扱いです。退職者の勤続年数計算をエクセルで行う際、退職日ではなく一律の集計基準日を参照してしまうと、退職後の期間まで勤続年数に加算されてしまいます。

在職者と退職者が混在するリストでは、次のように IF関数 を組み合わせて終了日を動的に判定させるのが鉄則です。

=IF(ISBLANK(D2), DATEDIF(B2, $G$1, "M"), DATEDIF(B2, D2, "M"))
(※B2が入社日、D2が退職日、G1が基準日)

また、有報開示や公的調査の「平均勤続年数」を算出する際は、原則として基準日時点で在籍している正社員のみを母集団とするケースが一般的です。退職者や出向者、パート・アルバイトを計算対象に含めるかどうかは、集計の利用目的(全社労務統計なのか、法定開示なのか、退職金引当金の算定なのか)に合わせてフィルタリングしなければなりません。

就業規則や退職金規程において「1ヶ月未満の端数日数は15日以上で1ヶ月に切り上げ、14日以下は切り捨て」「1年未満の端数は切り捨て」といった独自の規定が存在する場合は、エクセルの ROUND、ROUNDUP、ROUNDDOWN 関数を適用して厳格に社内ルールと同期させる必要があります。

【プロの結論】勤続年数集計を自動化・テンプレート化する判断基準

人事労務や財務の担当者がデータ集計で工数を圧迫されないためには、属人化を排除した勤続年数エクセルテンプレートの標準化が急務です。組織体制やシステム環境に応じた最適な運用方針を以下の基準で判断してください。

導入を即座に進めるべき組織の条件

  • 従業員数が50名を超え、四半期ごとに労務指標の報告が義務付けられている企業
  • 手入力や目視による月数計算を行っており、集計担当者によって端数の扱いが異なっている現場
  • 新卒・中途採用比率の変化が大きく、定着率推移を毎月モニタリングしたい人事部門

既存の計算シートを見直すべき組織の条件

  • 個人の満年齢・満年数(切り捨て値)をそのまま AVERAGE関数 に代入している企業
  • 退職者や休職期間の除外処理が手作業の行削除で行われており、計算式の参照範囲エラーが頻発している現場

エクセルシートの先頭行に「集計基準日」を入力するセルを1箇所だけ設け、すべての社員行がそのセルを絶対参照($G$1)する構造に整えるだけで、基準日を打ち替えるたびに全社の平均勤続年数が瞬時に再計算される強固なフォーマットが完成します。

【平均 勤続 年数 エクセル】に関するよくある質問(FAQ)

Q1:DATEDIF関数で「#NUM!」エラーが出る原因と対処法は何ですか?
A1:開始日(入社日)が終了日(基準日や退職日)よりも未来の日付になっていることが主な原因です。日付データの誤入力がないか確認し、セルが「文字列」ではなく「日付形式」で正しく認識されているかをチェックしてください。

Q2:休職期間を除外して勤続年数を計算するにはどうすればよいですか?
A2:社員マスタに「休職月数」の管理列を設け、DATEDIF関数で算出した総在籍月数から休職月数を差し引く数式(=DATEDIF(入社日, 基準日, "M") - 休職月数)を組むことで、実質的な勤続期間を正確に集計できます。

Q3:入社初月を「1ヶ月」として数えたい場合の数式はどう書きますか?
A3:DATEDIF関数は満月数を返すため、入社月を含めてカウントする社内規定の場合は、数式の末尾に「+1」を加算(=DATEDIF(B2, $G$1, "M") + 1)して調整します。組織の就業規則で定められた起算日ルールに準拠させてください。

まとめ:正確な勤続年数管理が組織のガバナンスと信頼性を高める

エクセルにおける平均勤続年数の計算は、単なる表計算のテクニックにとどまらず、企業の人的資本開示や労務ガバナンスの根幹を支える重要な実務です。「個人の年数を切り捨てずに月数や小数で集計する」「基準日と退職日の判定ロジックを数式に組み込む」という2つの原則を徹底するだけで、計算のズレは完全に解消されます。

毎年の集計作業で頭を悩ませないためにも、正しい関数ロジックを組み込んだテンプレートを早期に構築し、データ集計の精度とスピードを劇的に改善させていきましょう。 (出典: 平均 勤続 年数 エクセル(Yahoo!ニュース))

渡辺 翔太 (Shota Watanabe)
デジタルコンテンツ編集者
渡辺 翔太 (Shota Watanabe)

速報性と正確性を両立させたコンテンツ制作を担当。ユーザーが今知りたい疑問に丁寧に答えます。

あなたにおすすめの関連記事