エクセル生年月日から年齢を自動計算!Datedif関数の罠と最新の正解

エクセル生年月日から年齢を自動計算!Datedif関数の罠と最新の正解

エクセル生年月日から年齢を自動計算!Datedif関数の罠と最新の正解の概要と注目ポイントをわかりやすく整理しました。

人事労務やマーケティングの現場では、数式の組み方以外にもデータ前処理の段階で数多くの落とし穴が存在します。実務データで頻出する3大トラブルと解決策を整理しました。

トラブル1:日付がシリアル値ではなく「文字列」になっている
CSV連携などで取り込んだ日付が「2000.04.01」や「20000401」となっている場合、DATEDIF関数は機能しません。区切り位置機能で日付型に変換するか、=DATE(LEFT(A2,4), MID(A2,5,2), RIGHT(A2,2))でシリアル値に整形する必要があります。

トラブル2:生年月日が空欄のときに「124歳」と表示される
エクセルは空のセルを「0(1900年1月0日)」と解釈するため、空欄セルを参照すると100歳以上の巨大な数値が算出されます。必ずIF関数でブランク判定を組み込みましょう。

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

トラブル3:2月29日(閏日)生まれの判定ズレ
平年において2月29日生まれの人がいつ年齢を加算されるかという問題において、DATEDIF関数は「2月28日」の翌日である「3月1日」に満年齢を加算します。これは日本の法解釈(平年では2月28日終了時に加算)と整合性が取れており、実務上極めて安全です。

高橋 健太
著者

高橋 健太

Webメディアでの編集・執筆歴10年。読者の好奇心を刺激するストーリー作りを心がけています。