Excel一覧 Excel操作 年齢計算 計算・数値処理

【Excel】「yyyymmdd」形式から年齢を計算する方法【関数だけで簡単変換】

Excelで生年月日が 20200101 のような 「yyyymmdd」形式の数値または文字列で入力されている場合
そのままでは通常の DATE 関数や DATEDIF 関数が使えません。

✔ 「20201225」などの形式から年齢を計算したい
✔ セルは日付ではなく数値や文字列になっている
✔ TODAY関数と組み合わせて正確な年齢を出したい

そんなときに便利な、関数だけでできる「年齢の自動計算方法」 をご紹介します!

使用するExcel関数の概要

関数役割
DATE年・月・日を組み合わせて日付に変換
INT小数点以下を切り捨てる(年齢を整数に)
TODAY今日の日付を取得
TEXT日付を"MMDD"形式に変換して比較用に使用
YEAR年だけを取り出して差分を算出

セル A1 に「生年月日」が yyyymmdd 形式で入力されている場合

A1セルの値:19960415(1996年4月15日)

✅正確な年齢を求める数式(誕生日が来ているかを考慮)

=YEAR(TODAY()) - INT(A1/10000) - (TEXT(TODAY(),"MMDD") < TEXT(A1,"0000") & TEXT(MOD(A1,10000),"00"))

解説:

  • INT(A1/10000) … 生まれた年(例:1996)
  • MOD(A1,10000) … yyyymmdd の下4桁から月日(0415)
  • TEXT(MOD(A1,10000),"00") … 月日を2桁で補完して比較用に整える
  • (TEXT(TODAY(),"MMDD") < 生年月日のMMDD)
     → 誕生日がまだ来ていなければ 1(1歳減らす)

この数式で「今日時点での正確な年齢(満年齢)」が算出されます。

✅ざっくり年数を求める(少し精度は落ちる)

=INT((TODAY()-DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)))/365.25)

この式は 日数を365.25で割って大まかな年数を求める 方法です。
うるう年にはある程度対応していますが、誕生日が来ているかまでは判断しません

A1が「文字列」や「数値」どちらでもOK?

はい、どちらでもOK ですが、文字列の場合は "19960415" のように「"」で囲まれていることを前提にすると、
LEFTMIDRIGHT 関数の方が扱いやすいです。

【Excel】年齢計算しようとしてDATEDIF関数が見つからない?【使えないときの原因と対処法】

複数人の生年月日から年齢を一括計算する

A列:生年月日(yyyymmdd)
B列:氏名
C列に以下の数式をコピー

=YEAR(TODAY()) - INT(A2/10000) - (TEXT(TODAY(),"MMDD") < TEXT(A2,"0000") & TEXT(MOD(A2,10000),"00"))

👉 数百人の名簿でも、年齢を一括で自動計算できます。

【Excel】指定日における年齢を計算する方法【過去・未来の任意日を指定して年齢計算】


まとめ

方法内容精度
方法①年・月・日を分解して計算✅ 正確(誕生日考慮)
方法②日数を365.25で割るだけ△ ざっくり(誕生日未考慮)
応用:名簿複数人の年齢を一括計算可能◎ 実務向け

「yyyymmdd形式」でも、DATE関数を使わずに年齢が正確に計算できます!
フォーマットを変えずに活用できるので、企業の名簿管理や顧客データの処理にもおすすめです。

    -Excel一覧, Excel操作, 年齢計算, 計算・数値処理