毎年提出する書類に年齢を記載する欄があるのですが、メンバーの人数が多いとその都度年齢を入力しなおすのは面倒です。そこでエクセルで年齢を自動で出力する方法を探してみました。
年齢算出の考え方
年齢を計算するには、生年月日と今日の日付の差分を取ればよいわけです。
(年齢 = 今日の日付 - 生年月日)
例えば平成元年の初日(1989年1月8日)に生まれた方は、本日(2018年3月16日)時点で29歳です。(29歳 = 2018年3月16日 - 1989年1月8日)
これをエクセルの日付計算で行えばよいのです。
エクセルの関数一覧に表示されない関数を使用する
実際にやってみたものが以下の図です。
A1セルに誕生日を入れ、年齢をA2セルに出力しています。
DATEDIF は日付の差分を、年数、月数、日数を出力できる関数です。
ところが、この関数はエクセルの関数一覧に表示されないため、セルに手動で入力する必要があります。
簡単に解説すると以下のような内容です。
DATEDIF(①生年月日, ②今日の日付, ③出力方法)
①・・生年月日を指定(1989/1/8)
②・・TODAY()関数は、今日の日付を出力する関数
③・・”Y”:年数で差分を出力 “M”:月数で差分を出力 “D”:日数で差分を出力
日付の差分を求める関数を使って、差分を年数で出力することで年齢を求めています。
本来ならば、生年月日と当日日付を日数変換し、差分を求めて年数に再変換する処理を行わなければならないのですが、それらを関数内ですべて処理してくれます。
関数を手入力しないといけない点が不便ですが、一度設定すると毎年提出の書類で威力を発揮します。
忘備録として残します。