Excelで会員名簿を作成されている方から、会員の年齢を自動計算できるようにしたいと相談がありました。Excelでは、日付も数値と同じように計算対象となるため、「DATEDIF」という関数を使うことで指定した日現在の年齢を自動計算することができます。
この記事では、DATEDIFという関数を使って指定した日現在の年齢を求める方法について紹介しています。
ExcelでDATEDIF関数を使って年齢を自動計算するには?
DATEDIF関数は関数の一覧にはないので手入力する必要がある
Excelで関数を使うには、数式バーの左にある「関数の挿入」ボタンをクリックするか、オートSUMボタン横の▼をクリックし「その他の関数」をクリックして開く「関数の挿入」画面で、関数名から使いたい関数を選んで(クリック)していきます。
ところが、今回ご紹介するDATEDIF関数は「関数の挿入」画面の関数名の一覧にはありません。
なので、関数を手入力していくことになります。
DATEDIFの引数は?
始めに、DATEDIF関数の引数を見ていきましょう。関数の引数とは、計算を実行する上で必要な情報のことをいいます。
DATEDIF関数には、以下のように開始日、終了日、表示形式という引数が必要です。年齢を求めたいので開始日は生年月日、終了日は指定した日、表示形式は「年」となります。

DATEDIFを使って年齢を求める方法
次のように入力し、DATEDIFを使って年齢(経過年数)を求めていきます。

Excelで計算式や関数を操作する前に日本語入力モードはオフにしておきましょう。
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関数を使わずに期間(年数)を求める方法も書いていますので、良かったら目を通してみていただければと思います。