エクセルの名簿で生年月日から年齢計算をする方法を知りたい…
勤続年数の計算を関数でサクッと行いたい!
年齢や勤務年数の計算の関数化は、簡単そうに見えて標準の関数だと意外と複雑な関数になります。かといって手計算はもっとめんどくさいですよね。ただその作業、実は「隠し関数」を使えば一瞬で自動化できます。
今回は関数の挿入でも出てこない標準外関数を使って、年齢や勤務年数などの年数・月数を関数で表示する方法を紹介します。
業務効率化のために、ぜひこのページをブックマークして辞書代わりに使ってください。
Office付きで有料AIを月1800円以下で使う方法をコチラで紹介しています!
目次
【コピペ用】年齢・勤続年数を一発で出す関数リスト
まずは細かい説明抜きに、実務ですぐに使えるコードを紹介します。
セル「A2」に開始日(生年月日や入社日)が入っている想定ですので、ご自身の表に合わせて「A2」の部分を変更して貼り付けてください。
なおすべて、Today()+1を標準としています。その理由についても後で解説します。
1. 基本の計算(満年齢・勤続年数)
最もシンプルに「○年」「○歳」という数字だけを出したい場合はこちらです。
=DATEDIF(A2, TODAY()+1, "Y")

<結果>

2. 丁寧な表示(◯歳◯ヶ月・◯年◯ヶ月)
退職金の計算や、乳幼児の月齢計算などで「ヶ月」まで必要な場合はこちらです。
=DATEDIF(A2, TODAY()+1, "Y") & "歳" & DATEDIF(A2, TODAY(), "YM") & "ヶ月"
※「歳」の部分を「年」に書き換えれば、勤続年数の表示にも使えます。

<結果>

DATEDIF関数の基本と「メニューに出てこない」理由
今回使用しているのは「DATEDIF(デイトディフ)関数」です。
しかし、Excelの「関数の挿入」ボタンから検索しても、この関数は出てきません。この関数は、手入力でしか呼び出せない特殊な関数です。
基本構文
=DATEDIF(開始日, 終了日, 単位)
「開始日から終了日までの期間を、指定した単位で計算する」という命令です。
単位の指定方法リスト
一番最後の「単位」を変えることで、計算結果が変わります。
- “Y”:満年数(年齢、勤続年数など)
- “M”:満月数(総月数を数えたい時)
- “D”:満日数(総日数を数えたい時)
- “YM”:1年未満の端数月(「◯年と◯ヶ月」の端数を出す時)
なぜメニューに出てこない?
実はこの関数、元々は「Lotus 1-2-3」という他社の表計算ソフトで使われていたものです。
Excelが普及する際、Lotus 1-2-3からの乗り換えユーザーが困らないように「互換用」として搭載されました。
表向きのメニューには出てこない「隠しキャラ」のような存在ですが、Microsoftのサポート対象ですので、現在でも問題なく使用可能です。
TODAY()のみだと法的年齢とズレる?TODAY()+1の理由!
普通のDATEDIF関数をTODAY()と一緒に使うと、法律上の年齢計算とズレることがあります。そのため、コピペ関数ではTODAY()+1を標準としています。
ここでは、その理由について解説します。
年齢計算ニ関スル法律
日本の法律では、年齢は「誕生日の前日が終了する時(午後12時)」に加算されると定められています。
わかりやすく言うと、4月1日生まれの人は、法律上は3月31日に1つ歳をとります。
(だからこそ、4/1生まれは早生まれとして前の学年に入りますよね)
通常のDATEDIFの弱点
しかし、通常のDATEDIF関数は「誕生日当日」に数字がカウントアップされる仕組みになっています。
そのため、誕生日の前日時点では、法律上の年齢よりも「1歳若い」計算結果になってしまうのです。
解決策:TODAYに「+1」する
このズレを解消するために、実務では以下のように記述します。
=DATEDIF(開始日, TODAY()+1, "Y")
「今日(TODAY)」の日付をシステム上で無理やり「1日未来」に進めます。そうすることで、誕生日の前日であっても誕生日当日として計算させ、法律のルールと一致させています。
給与計算や社会保険の手続きなど、基本的にはこの式を使うのが無難です。
Office付きで有料AIを月1800円以下で使う方法をコチラで紹介しています!
実務でハマる!DATEDIF関数の3つの注意点
最後に、この関数を使う上でよくあるトラブルと注意点を3つ紹介します。
1. 入力候補に出ない(スペルミス注意)
前述の通り、入力中に候補が出てきません。そのため手打ちが必要です。
よくあるのが「DATEIF」と「D」を忘れてしまうミスです。「#NAME?」というエラーが出たら、まずはスペルミスを疑ってください。
2. 1900年以前は計算不可
Excelの仕様上、1900年1月1日より前の日付は計算できません。
例えば、創業150年以上の老舗企業の周年記念計算や、歴史上の人物の生誕年数計算などには使えませんのでご注意ください。
3. うるう年の微細なズレ
DATEDIFは便利な反面、うるう年を含んだ計算で稀に意図しない結果を返すことがあると報告されています。
一般的な年齢計算や勤続年数では問題になりませんが、日割り計算でお金が関わるようなシビアな場面では注意が必要です。
計算結果を目視で確認するか、専用のシステムを使うことをおすすめします。
まとめ
DATEDIF関数は、Excelのメニューに出てこない「隠れた名機能」です。
構造を覚える必要はありません。「年齢や勤続年数を出したい時は、DATEDIFを使う」ということだけ覚えておいてください。そして、必要な時にまたこの記事のコードをコピペしてください。
こうした「知っているだけで時短になる知識」をストックしておくだけで、日々のルーチンワークは劇的に効率化されます。
このブログでは、このように日常業務が楽になるテクニックから、VBA等のスキルになる情報まで幅広く紹介しています。また現在、Office+生成AIを2年間月1800円以下で使える、お得なキャンペーンをMicrosoftが実施しています。裏技的なやり方ですが大変お得なキャンペーンなので、興味がある方はぜひこの記事も参考にしてみてください!
MicrosoftのOffice+生成AIが月1800円以下で使えるお得な裏技はコチラ!



コメント