Excelでは数値をもとにあらゆる計算や分析ができますが、日付も計算対象となるため、ある日からある日までの年数・月数・日数を求めることができます。
この記事では、名簿に入力されている生年月日と今日の日付をもとに経過年数を計算し、年齢を算出する関数をご紹介します。今回は年齢を算出するために使用しますが、作業工程の日数を割り出すときにも使うことができる関数です。
DATEDIF関数の使い方 経過年数・月数・日数を求める
DATEDIF関数は関数の一覧には入っていない
実はこの経過年数・月数・日数を算出する関数「DATEDIF」は、関数の一覧には入っていません。
ほかの関数は「関数の引数」という画面が開き、必要な項目を埋める(入力)ことで関数を設定することができますが、DATEDIFは一覧には入っていないのでこの「関数の引数」という画面が出てきません。
DATEDIFは手入力になるので指定し間違えたり、関数名を入力し間違えたりすることがよくあります。
DATEDIF関数の設定方法
DATEDIF関数を設定するには、開始日となる日付と終了日となる日付、計算結果を年で表示するのか、月で表示するのか、日で表示するのかという表示形式の3つが必要です。
サンプルとして下の図のように開始日(生年月日)、終了日(今日の日付)を入力しました。

Excelで計算式や関数を操作する前に日本語入力モードはオフにしておきましょう。
一人目のAさんの年齢をC3のセルに求めたいのでクリック、キーボードを使って「=」と入力します。この「=」を入力したことで(今から計算を始める)という合図になります。

続けて、「datedif(」と入力します。※「」は入力しません。
関数名は英字で入力しますが、大文字・小文字どちらでも構いません。

開始日(生年月日)が入力されているセルにマウスポインタを合わせてクリックすると、セル番地(今回の例だとA2)と入ります。続けて「,(カンマ)」を入力します。

次に、終了日である今日の日付が入っているセルにマウスポインタを合わせてクリックすると、セル番地(今回の例だとB2)と入ります。続けて「,(カンマ)」を入力します。

Shiftキーを押しながらキーボードの2のキーを押すと、ダブルクオーテーションが入ります。続けて、y、もう一度Shiftキーを押しながらキーボードの2のキーを押し、ダブルクオーテーションでyを挟むことができたら、)を押して、Enterキーを押すと

年齢を算出することができます。

まとめると、DATEDIF関数には、開始日、終了日の2つの引数が必要で、この差を求めたものを年数として表示するなら「y」、月数で表示するなら「m」、日数で表示するなら「d」を表示形式として指定します。

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関数を使わずに期間(年数)を求める方法も書いていますので、良かったら目を通してみていただければと思います。