エクセルで年齢を自動計算する方法をお探しですね。

広告

エクセルで年齢や勤続年数を自動計算!DATEDIF関数の使い方完全ガイド

社員名簿や顧客リストをエクセルで管理していると、「年齢」や「勤続年数」の更新が面倒ですよね。

毎年手作業で計算し直すのは時間がかかるし、入力ミスも起こりやすくなります。

そんなときに便利なのが「DATEDIF関数」です。

一度設定すれば、日付から自動で年数や月数を計算してくれる優れものなんです。

この記事では、DATEDIF関数の基本的な使い方から、よくあるエラーの解決方法、さらに精度の高い代替関数まで、わかりやすく解説していきます。

DATEDIF関数の基本的な使い方

DATEDIF関数は、2つの日付の間の期間を計算してくれる関数です。

生年月日から年齢を求めたり、入社日から勤続年数を出したりするのに使えます。

基本の書き方はこちら:

“`

=DATEDIF(開始日, 終了日, "単位")

“`

たとえば年齢を計算するなら、開始日に「生年月日」のセル、終了日に「今日の日付」を指定します。

単位の種類を覚えよう

最後の「単位」の部分には、どんな形で期間を表示したいかを指定します。

よく使うものはこの4つです。

– **”Y”**:満年数(年齢や勤続年数を出すときに使う)
– **”M”**:満月数(全部で何ヶ月経ったか)
– **”D”**:満日数(全部で何日経ったか)
– **”YM”**:1年未満の残り月数(「○年○ヶ月」と表示したいときに使う)

実際の使用例

A列に生年月日、B列に基準日が入っているとしましょう。

年齢を求める数式はこうなります。

“`

=DATEDIF(A2, B2, "Y")

“`

数式を下にコピーして使う場合は、基準日のセルがずれないように「$B$2」のように$マークをつけて固定するのがポイントです。

これを「絶対参照」といいます。

常に最新の年齢を表示させる便利ワザ

実務でもっと便利に使うなら、終了日に「TODAY関数」を組み合わせましょう。

“`

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

“`

こうすると、ファイルを開いたその日の日付を基準に、常に最新の年齢が自動で計算されます。

毎年更新する手間が省けて、とっても楽になりますよ。

法律に合わせた正確な年齢計算

実は、日本の法律では「誕生日の前日に歳をとる」ことになっています。

そのため、厳密に計算するなら、終了日に1日プラスする必要があります。

“`

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

“`

こうすることで、誕生日の前日に年齢が切り替わるようになり、法律上正しい年齢管理ができます。

「○歳○ヶ月」と詳しく表示する方法

年齢をもっと詳しく表示したいときは、&記号で文字をつなげます。

“`

=DATEDIF(A2, TODAY(), "Y") & "歳" & DATEDIF(A2, TODAY(), "YM") & "ヶ月"

“`

これで「25歳3ヶ月」のように表示できます。

よくあるエラーと解決方法

DATEDIF関数は便利ですが、いくつか注意点があります。

入力候補に出てこない?

実は、DATEDIF関数は「非公式関数」という特殊な扱いなんです。

そのため、入力中に候補リストに表示されません。

スペルを間違えないよう、最後まで手入力する必要があります。

#VALUE!エラーが出たら

このエラーが出る原因は主に2つです。

– セルに文字や空白が入っている
– 日付の形式が間違っている(例:2024.01.01)

セルの書式を「日付」に変更して、正しい形式(2024/01/01)で入力し直しましょう。

#NUM!エラーが出たら

これは、開始日より終了日の方が古い日付になっているときに出ます。

引数の順番が逆になっていないか、未来の生年月日が入っていないか確認してください。

年齢が4歳もズレる!?

計算結果が実際の年齢と4歳くらい違う場合、エクセルの設定に問題があります。

「ファイル」→「オプション」→「詳細設定」を開いて、「1904年から計算する」のチェックを外してください。

これで正しく計算されるようになります。

より正確に計算したいときの代替関数

DATEDIF関数は便利ですが、うるう年を含む長期間の計算で、まれに誤差が出ることがあります。

給与計算など1日のズレも許されない場面では、「YEARFRAC関数」を使うのがおすすめです。

YEARFRAC関数の使い方

YEARFRAC関数は、期間を年単位の小数で正確に計算してくれます。

“`

=YEARFRAC(開始日, 終了日, 1)

“`

最後の「1」は、実際の日数を基準にするという意味です。

整数で表示する方法

ただし、この関数は「25.75年」のように小数で結果が出るので、年齢として表示するには小数点以下を切り捨てる必要があります。

ROUNDDOWN関数やINT関数と組み合わせて使いましょう。

“`

=ROUNDDOWN(YEARFRAC(A2, TODAY()+1, 1), 0)

“`

これで、正確な年数を整数で表示できます。

YEARFRAC関数は公式関数なので、入力時に候補リストに表示されるのもメリットです。

用途に合わせて、DATEDIF関数とYEARFRAC関数を使い分けてくださいね。

まとめ

いかがでしたか?DATEDIF関数を使えば、年齢や勤続年数の管理がグッと楽になります。

最初は少し難しく感じるかもしれませんが、一度設定してしまえば、あとは自動で計算してくれるので本当に便利ですよ。

ぜひ試してみてください!

広告