会員名簿を作成している方から「誕生日を入力しておけば今日現在の年齢が出るようにしたい」と要望がありました。Excelは数値だけじゃなく日付も計算対象となるため、誕生日を元に今日現在の年齢を計算することができます。
この記事では、誕生日と今日の日付を元に誕生日を求める計算方法についてご紹介します。
Excelで生年月日を元に年齢を自動計算するには?
Excelで誕生日と今日の日付を元に年齢を自動計算するには、経過年数・月数・日数を求めることができる「DATEDIF」関数を使います。
ただ、この「DATEDIF」関数は、関数の一覧にはありません。手入力で入力する必要があります。
DATEDIFの引数に必要なのは、「開始日」「終了日」「表示形式」です。表示形式は、経過年数を求めたいなら年を表す「y」、経過月数を求めたいなら「m」、経過日数を求めたいなら「d」を”(ダブルクォーテーション)で挟みます。
次のように入力し、DATEDIFを使って年齢(経過年数)を求めていきます。
Excelで計算式や関数を操作する前に日本語入力モードはオフにしておきましょう。
DATEDIFを使って年齢(経過年数)を求めるには
一人目のAさんの年齢をC3のセルに求めたいのでクリック、キーボードを使って「=」と入力します。この「=」を入力したことで(今から計算を始める)という合図になります。
続けて、「datedif(」と入力します。※「」は入力しません。
関数名は英字で入力しますが、大文字・小文字どちらでも構いません。
開始日(生年月日)が入力されているセルにマウスポインタを合わせてクリックすると、セル番地(今回の例だとA2)と入ります。続けて「,(カンマ)」を入力します。
次に、終了日である今日の日付が入っているセルにマウスポインタを合わせてクリックすると、セル番地(今回の例だとB2)と入ります。続けて「,(カンマ)」を入力します。
Shiftキーを押しながらキーボードの2のキーを押すと、ダブルクオーテーションが入ります。続けて、y、もう一度Shiftキーを押しながらキーボードの2のキーを押し、ダブルクオーテーションでyを挟むことができたら、)を押して、Enterキーを押すと
年齢を算出することができます。
DATEDIFが使えない、うまく計算できないときは?
DATEDIF関数についてよくお問い合わせいただくのが、関数の一覧をみてもDATEDIFがないというものです。初めに書いた通り、DATEDIFは関数の一覧には入っていないので、自分で一から入力しなければ使うことはできません。
DATEDIF関数を入力してもうまく計算できないというお問い合わせも多くあります。
次の3つをチェックしてみてください。
ところで、このDATEDIFという関数についてMicrosoftの公式ページを確認すると以下のように書かれています。
警告: Excel では、Lotus 1-2-3 の古いブックをサポートするために、DATEDIF 関数が用意されています。 DATEDIF 関数では、特定のシナリオで誤った計算結果を返すことがあります。 詳細については、この記事の既知の問題のセクションを参照してください。
https://support.microsoft.com/ja-jp/office/datedif-%E9%96%A2%E6%95%B0-25dba1a4-2812-480b-84dd-8b32a451b35c
うるう年などが影響し、計算結果に誤りが出ることがあるようですが、年齢を求めるだけなら、2月29日生まれの人がいた場合のみ影響が出ます。
別の記事でDATEDIF関数を使わずに期間(年数)を求める方法も書いていますので、良かったら目を通してみていただければと思います。