
まず試す:勤続年数を「年・ヶ月」で表示する数式
C3に入社日、D1に基準日を入力し、E3などの空いているセルに次の数式を貼り付けます。入社日と基準日は、文字列ではなくExcelの日付として入力してください。
=DATEDIF(C3,$D$1,"Y")&"年"&DATEDIF(C3,$D$1,"YM")&"ヶ月"
計算例:C3が2015/1/10、D1が2024/4/1なら、表示は9年2ヶ月です。「Y」は満年数、「YM」は年数に満たない残りの月数です。「M」は期間全体の月数を求めるため、この表示の月の部分とは使い分けます。
今日を基準にしたい場合は、D1に=TODAY()を入力します。TODAYの日付は、ブックを開いたときや再計算時に更新されます。報告書などで基準日を固定したい場合は、D1にその日付を入力してください。下の行へコピーすると、C3はC4、C5へ変わり、$D$1は同じ基準日を参照します。TODAY関数の公式説明はこちら。
開始日が終了日より後だと#NUM!になります。月末やうるう日前後の結果も確認し、起算日や端数の扱いが利用目的に合っているかを確かめてください。詳しくはMicrosoft公式のDATEDIF関数の説明をご覧ください。
数式を試す・テンプレートを検討する
自分の表で計算したい方は、上のコピー用数式を使って試せます。下の解説では、関数の意味や複数行に使う方法を説明しています。
有料のExcelテンプレートを検討したい方は、購入前ガイドでファイル形式や確認事項をご覧ください。数式による期間表示と、書類に必要な勤続年数の数え方の違いも紹介しています。
以下では、DATEDIFの引数と、同じ基準日を使って複数行に数式をコピーする方法を説明します。まず数式を試したい方は、冒頭のコピー用数式をご利用ください。
ExcelのDATEDIF関数について

Excelには、様々な便利な関数が備わっていますが、その中でもDATEDIF関数は勤続年数の計算に特に役立つ関数です。
DATEDIF関数とは、2つの日付の間の期間を計算し、その結果を年、月、または日で表示するための関数です。
勤続年数を含む、さまざまな期間を正確に計算する際に非常に有効です。
DATEDIF関数とは
具体的には、DATEDIF関数は、始点となる日付と終点となる日付の間の差を計算します。
この関数を使うことで、例えば「入社日から今日までに勤めた全期間」や「入社日から退職日までの正確な勤続年数」を、簡単に「何年何ヶ月」という形で算出することが可能になります。
関数の構成要素
DATEDIF関数を使用する際には、3つの主要な引数を指定する必要があります。
それぞれの引数には、特定の値を入力します。
- 開始日:期間の計算の起点となる日付です。例えば、社員の入社日をここに入力します。
- 終了日:期間の計算の終点となる日付です。現在の日付や、社員の退職日などがここに該当します。
- 単位:計算結果をどのような単位で表示するかを指定します。「Y」を指定すると年数、「M」を指定すると月数、「D」を指定すると日数を表します。
DATEDIF関数の基本的な形式は、以下のようになります。
=DATEDIF(開始日, 終了日, "単位")
例えば、ある社員の入社日が2015年1月10日、現在日が2024年4月1日である場合、DATEDIF関数を使って「Y」を単位として指定すると、この社員の勤続年数が「9年」と計算されます。
年数の後に残りの月数を付けるには「YM」を使います。「M」は期間全体の月数を返すため、「9年2ヶ月」の月の部分には「YM」を使いましょう。

DATEDIF関数で日付の差を求めれば、同じ計算式を複数の行に使えます。入力した日付と、必要な期間の数え方が合っていることを確認しましょう。
特にパソコン操作が得意でない方にとっても、この関数の使用方法を覚えることで、大きな助けとなるでしょう。
★勤続年数を自動計算する方法

Excelで勤続年数を自動計算するには、DATEDIF関数を使用します。
この関数を活用することで、入社日と退職日(または現在日)を基に、勤続期間を「何年何ヶ月」で簡単に求めることができます。
特に、現在日を計算に使用する場合は、その日付を絶対参照で扱うと便利です。
これにより、同じシート内の複数の計算で同じ現在日を繰り返し利用することができ、作業効率が上がります。
計算式の入力方法
DATEDIF関数を利用する際には、次の形式で式を入力します。
=DATEDIF(開始日, 終了日, "単位")
ここで、「開始日」には勤続年数計算の基点となる入社日、「終了日」には計算の終点となる日(退職日や現在日)を指定します。
そして、「単位」には、期間を年(“Y”)、月(“M”)、または日(“D”)で求めるための単位を指定します。
現在日を絶対参照で使う場合、例えばセルD1に現在日を入力し、そのセルを計算式で参照するときは$D$1と入力します。
これにより、セルの参照が固定され、シート内のどこからでも正確な現在日を参照することが可能になります。
例:具体的な計算手順
例えば、社員の入社日が2015年1月10日で、現在の日付を2024年4月1日とする場合の勤続年数を計算する手順は以下の通りです。
- 入社日をセルC3に、現在日をセルD1に入力します。現在日は絶対参照で使用しますので、$D$1として扱います。
- 勤続年数を求めるセルに次の式を入力します。
=DATEDIF(C3, $D$1, "Y") & "年" & DATEDIF(C3, $D$1, "YM") & "ヶ月"

この式は、「Y」で満年数を求め、「YM」で年数に満たない残りの月数を求めて、「9年2ヶ月」のようにつなげます。「M」で求める期間全体の月数とは区別してください。
このようにして、ExcelのDATEDIF関数を使うことで、勤続年数の計算を簡単かつ正確に自動化することが可能です。
パソコン初心者の方でも、基本的な手順を踏むだけで、複雑な計算を行うことができるようになります。
計算式の応用

複数人の期間を表示する場合は、入社日を行ごとに入力し、共通の基準日を使って計算します。数式をコピーした後は、開始日の参照先がそれぞれの行に変わっているか、基準日が固定されているかを確認しましょう。
複数の社員データを管理する方法
- 従業員名簿の作成:まず、Excelシートに従業員名簿を作成します。この名簿には、従業員の名前、入社日、退職日(在職中の場合は現在日を使用)を含めます。
- DATEDIF関数の適用:次に、DATEDIF関数を用いて、各従業員の勤続年数を計算します。この関数を各従業員のデータに適用することで、一括で勤続年数を計算することができます。
- 絶対参照の使用:現在日を含むセルを絶対参照(例:$D$1)で指定することで、複数の計算式で同じ現在日を使用でき、作業の効率化が図れます。

表を更新したら、代表的な数人分について、入社日・基準日・表示結果を確認します。今日までの期間を見たい場合と、退職日や集計日までの期間を固定して残したい場合とでは、基準日の設定を使い分けてください。
トラブルシューティング

ExcelでDATEDIF関数を使って勤続年数を計算する際には、いくつかの注意点があります。
ここでは、そのような状況で遭遇しがちな問題と、それに対する解決策、さらにDATEDIF関数使用時の注意点について解説します。
よくある問題と解決策
問題1:「#NUM!」エラーが表示される
解決策:このエラーは、通常、開始日が終了日よりも後に設定されている場合に発生します。入力した日付が正しいかどうかを再確認し、必要であれば修正してください。

問題2:計算結果が期待と異なる
解決策:DATEDIF関数の「単位」引数を確認してください。「Y」で年、「M」で月、「D」で日の差を計算します。また、「YM」を使用して年の差を無視した月の差を求めることも可能です。引数が正しく設定されているかを確認し、適切な引数に修正してください。
DATEDIF関数の注意点
- 開始日と終了日の形式:DATEDIF関数を使用する際は、開始日と終了日が正しい日付形式で入力されている必要があります。Excelで日付と認識されない形式で入力されていると、関数が正しく動作しない原因となります。日付は「年/月/日」の形式で入力することを推奨します。
- うるう年の考慮:月末・うるう日の前後など、期間の境目になる日付でも結果を確認しましょう。表示する期間の数え方や端数の扱いが、利用目的のルールと合っているかを確認して使います。
- 関数の非表示性:Excelの一部のバージョンでは、DATEDIF関数が関数リストに表示されないことがありますが、正しい引数を入力すれば問題なく使用できます。
これらの点に注意しながらDATEDIF関数を使用することで、勤続年数の計算を正確に行うことができます。
初心者の方でも、これらの一般的な問題と解決策を理解することで、よりスムーズにExcelを活用することが可能になります。
まとめ

入社日から基準日までを「何年何ヶ月」で表示するには、満年数の「Y」と残りの月数の「YM」を組み合わせます。入力した日付、参照先、基準日を確認し、月末などの境目でも結果を確かめて使いましょう。
- 数式をコピーしたい方:冒頭の数式と計算例へ。
- 完成済みの表を検討したい方:有料テンプレートの購入前ガイドへ。
- 操作や数式の基本を練習したい方:初心者向けExcel講座と個人レッスンの料金をご覧ください。












・勤続年数の計算が難しい
・手計算での誤差が心配
・複数の社員データの管理が大変