エクセルで年齢を自動計算!Datedifの罠と2026年最新の解
エクセルで年齢を自動計算!Datedifの罠と2026年最新の解の主要なニュースをコンパクトにまとめました。全体像を一目で把握できます。
Q1:DATEDIF関数をキーボードで打ち込んでも、途中で小文字のまま変わらず認識されません。何が間違っていますか?
A1:全角文字で入力しているか、引数の区切り記号であるカンマ(,)やダブルクォーテーション(")が全角になっている可能性が極めて高いです。必ず半角英数モードに切り替えて「=DATEDIF(B2,TODAY(),"Y")」と打ち込んでください。なお、大文字「DATEDIF」でも小文字「datedif」でも、半角であれば正しくEnterを押した瞬間に機能します。
Q2:4月1日生まれの社員や生徒を「前年度(早生まれ)」として判定するには、どのように数式を組めばよいですか?
A2:日本の法律上、4月1日生まれの人は3月31日に加齢するため、生年月日から1日引いて計算するのが最もスマートです。例えば生年月日がセルB2にある場合、「=DATEDIF(B2-1, TODAY(), "Y")」のように、生年月日側のセル指定に「-1」を付与することで、4月1日生まれを自動的に法律通りの加齢タイミングへと補正できます。
Q3:TODAY関数を使うとファイルを開くたびに年齢が変わってしまいます。過去の「退職時」や「契約時」の年齢で固定する方法はありますか?
A3:過去の特定時点の年齢を固定したい場合は、第2引数にTODAY関数を使ってはいけません。契約終了日や退職日が入っているセル(例えばセルC2)を第2引数に指定して「=DATEDIF(B2, C2, "Y")」とするか、手動で特定の日付を直接「=DATEDIF(B2, "2026/3/31", "Y")」のように指定してください。
Q4:生年月日の日付を入力しているのに「#VALUE!」エラーが消えません。見た目は日付になっているのですが?
A4:見た目上は日付に見えても、先頭にアポストロフィ(')が入っていたり、文字列として保存されているケースです。空いているセルに「1」と入力してコピーし、生年月日列全体を選択して「形式を選択して貼り付け」>「乗算」を実行すると、強制的にシリアル値(数値)へ一括変換され、エラーが解消されます。