「入社から何年経ったか計算したい」「製品の使用年数を出したい」
Excelでデータ管理をしていると、開始日からの年数(経過年数)を計算したい場面はよくありますよね。
でも、ただ日付を引くだけでは年単位で正しく計算できないこともあります。
この記事では、Excelで年数を計算する方法をわかりやすく解説します。生年月日や契約開始日から現在までの年数を求める便利な関数も紹介するので、ぜひ参考にしてください。
基本|日付の引き算で年数を出す

Excelでは、日付はシリアル値(1900年1月1日からの通し番号)で管理されています。
例:日数の差を求める
=TODAY()-A1
A1に開始日が入っている場合、今日までの日数が計算されます。でもこれだと単位は「日数」です。
経過年数を求める方法
おおまかに年数を出す(365で割る)
シンプルに年単位にするなら、次のように計算します。
=(TODAY()-A1)/365
これで大体の年数が求められます。ただし、うるう年は考慮されないので、誤差が出ます。
より正確に年数を出す|DATEDIF関数
うるう年も含めて正確に計算したい場合は、DATEDIF
(デイトディフ)関数がおすすめです。
基本形
=DATEDIF(開始日, 終了日, 単位)
- 「単位」に
"Y"
を指定すると満年数(整数の年)を計算してくれます。
例:入社日からの年数
=DATEDIF(A1, TODAY(), "Y")
これで、A1に入れた入社日から今日までの「満年数」が求められます。
小数点つきの年数を出したい場合
年と月を組み合わせて、より細かく出す方法もあります。
例:年+月÷12
=DATEDIF(A1, TODAY(), "Y") + DATEDIF(A1, TODAY(), "YM")/12
これで「○.○年」といった形になります。
年齢計算の実例
生年月日から年齢を求める
=DATEDIF(A1, TODAY(), "Y")
A1に生年月日を入力すると、現在の年齢が表示されます。
特定の日時点での年齢を求める
=DATEDIF(A1, B1, "Y")
A1に生年月日、B1に基準日を入力すると、その日時点での年齢が計算されます。
勤続年数の計算例

入社日からの勤続年数
=DATEDIF(A1, TODAY(), "Y")
詳細な勤続期間(年・月・日)
=DATEDIF(A1, TODAY(), "Y") & "年" & DATEDIF(A1, TODAY(), "YM") & "ヶ月" & DATEDIF(A1, TODAY(), "MD") & "日"
この式で「○年○ヶ月○日」の形で勤続期間を表示できます。
年数計算でよく使う応用
契約期間が5年で、満了日を自動計算
=EDATE(A1, 12*5)
EDATE関数を使うと、開始日から指定した月数後の日付を計算できます。
「あと何年残っているか」を計算
=5 - DATEDIF(A1, TODAY(), "Y")
5年契約の場合、残り年数を自動で計算できます。
製品の使用年数を計算
=DATEDIF(A1, TODAY(), "Y")
A1に製品の購入日を入力すると、使用年数が表示されます。
DATEDIF関数の単位一覧
DATEDIF関数では、3番目の引数(単位)で計算する期間を指定できます。
- “Y”: 満年数
- “M”: 満月数
- “D”: 満日数
- “YM”: 年を無視した月数
- “YD”: 年を無視した日数
- “MD”: 月を無視した日数
これらを組み合わせることで、より詳細な期間計算ができます。
エラーが出る場合の対処法
開始日が終了日より後の場合
DATEDIF関数は、開始日が終了日より後だとエラーになります。
=IF(A1<=B1, DATEDIF(A1, B1, "Y"), "日付を確認してください")
IF関数と組み合わせて、エラーを回避できます。
空白セルがある場合
=IF(A1="", "", DATEDIF(A1, TODAY(), "Y"))
空白セルがある場合も、IF関数で対処できます。
便利な応用テクニック
年数に応じた処理を自動化
=IF(DATEDIF(A1, TODAY(), "Y")>=5, "ベテラン", "新人")
勤続年数が5年以上なら「ベテラン」、そうでなければ「新人」と表示されます。
複数の条件で分類
=IF(DATEDIF(A1, TODAY(), "Y")>=10, "シニア", IF(DATEDIF(A1, TODAY(), "Y")>=5, "中堅", "新人"))
10年以上なら「シニア」、5年以上なら「中堅」、それ以下なら「新人」と分類できます。
まとめ
Excelで年数を計算するなら、日付をそのまま引いて365で割る方法もありますが、正確さを求めるならDATEDIF関数が便利です。
生年月日、入社日、契約開始日など、日付データをきちんと登録しておけば、年数の計算が一気に自動化できます。
特に人事管理や契約管理では、正確な年数計算が重要になります。
コメント