千夜一夜

人生は短い、それはまるでたった1日のように

【Excel】DATEVALUEとDATEDIFで生年月日の数字8桁から年度末年齢を算出

Excelで、「生年月日を示す8桁の数字」から「前年度末時点での年齢」を算出したい。

数値を日付形式にする「DATEVALUE」関数で数字8桁を日付に変換し、日付間の年数を出す「DATEDIF」関数と組み合わせて年度末年齢を出しました。

  

 

19720818 1972/8/18  
20210331 2021/3/31 48

A列:生年月日と年度末日付の数字8桁

B列:日付形式に変換

C列:前年度末時点の年齢

例に出している「1972年8月18日」は、中居正広さんの生年月日です。元ファイルでは父の生年月日を使っていたので、念のため変えました。

画面にはスプレッドシートを使っています。Excelスプレッドシートで共通でした。

 

1.DATEVALUEで数字8桁を日付に

f:id:senyaitiya:20210418181350p:plain

=DATEVALUE(LEFT(A1,4)&"/"&MID(A1,5,2)&"/"&RIGHT(A1,2))

年と月、月と日の間に文字列でスラッシュを入れることがポイント。

 

2.DATEDIFで日付間の年齢を算出

f:id:senyaitiya:20210418182001p:plain

=DATEDIF(B1,B2,"Y") 

2つの日付から年数を算出。

DATEDIFは、関数入力でサジェストされない「隠し関数」なので注意です。