Excelにはたくさんの関数がありますが、Excelの関数一覧には表示されない「DATEDIF」という関数があります。この関数を使うと開始日から終了日までの差を計算し、計算結果を年数・月数・日数で表示させることができます。
今回は開始日から終了日までの差を計算し、結果を年数・月数・日数で表すことができる「DATEDIF」関数を使って、誕生日を元に年齢を計算してみたいと思います。
DATEDIF関数を使って誕生日から年齢を求めてみよう
以下の画像のような表をExcelで作成しておきます。DATEDIF関数には開始日と終了日が必要になるので、生年月日を開始日、今日の日付をC1セルに入力してあります。
通常、Excel2016で関数を挿入するには関数の挿入を使うか、オートSUMボタン横の▼をクリック→その他の関数から使いたい関数を選ぶようになっているのですが、このDATEDIF関数は関数の選択画面から選ぶことができないので、DATEDIF関数は手入力していきます。
DATEDIF関数の引数「開始日」を指定しよう
Aさんの年齢を入力したいセル(C3セル)をクリックした状態で、キーボードを使って

と入力します。
次にAさんの誕生日が入っているセルにマウスポインタを合わせてクリックしてからキーボードの,(カンマ)キーを押します。
これでDATEDIF関数に必要な「開始日」が設定できたことになります。
DATEDIF関数の引数「終了日」を指定しよう
次に、今日の日付が入力されているC1セルをクリックし、キーボードのF4キーを押したあと、,(カンマ)キーを押します。
これでDATEDIF関数に必要な「終了日」が設定できたことになります。
DATEDIF関数の引数の最後は結果をどう表すかを指定する
上の開始日と終了日を設定したことで差を求めることはできました。最後に、その差を年数で表すためにキーボードを使って以下のように(太い赤字になっている部分)入力します。
キーボードのEnterキーを押して関数を確定させましょう。
Aさんの年齢が計算されているのを確認できましたでしょうか?
キーボードのF4キーを押したのは計算式をコピーするのが前提だったから
BさんとCさんの年齢を計算したいのですが、もう一度計算式を入力せずに計算式をコピーしてふたりの年齢を計算してみましょう。
計算式が入っているAさんの年齢が入ったセルを選択した状態で右角下にある■にマウスポインタを合わせて下方向へドラッグすれば計算式をコピーすることができます。
BさんとCさんの年齢の年齢も計算できましたね。
DATEDIF関数の仕組みについて解説!
DATEDIF関数の引数は、開始日、終了日とどう表示するか(年?月?日?)を指定します。
ちなみに、年数を求めるときはyを使いますが、月数だとm、日数だとdを使います。
ところで、終了日である今日の日付をクリックした後は「C1」となっていましたが、キーボードのF4キーを押すと「$C$1」となりました。
これは、「C1」に$がついたことによって「このセルだけをずっと参照していてね」ということを関数に伝えることができる操作です。
この参照を固定する操作のことを「絶対参照」と呼んでいます。
実は、Aさんの年齢を求めた後、BさんとCさんの年齢を計算するために計算式をコピーしましたが、上で説明した「絶対参照」を使わずに計算式をコピーしてしまうと以下の画像のような結果になってしまいます。
Aさん、Bさん、Cさんの生年月日を入力したセルはそれぞれ別のセルになりますので、参照を固定する必要はありませんが、今日の日付は3人それぞれの年齢を求めるときには終了日としてずっと同じセルを参照し続けることで計算式のコピーがうまくいくのです。
今日の日付を入力するときに覚えておくといいこと
今回、当日の日付を手入力しましたが、Excelで今日の日付を入力したいならキーボードのCtrlキーを押しながら;キーを押してみましょう。
また、ファイルを開くたびに今日の日付を自動で読み取って表示させるには「TODAY」関数が便利ですよ。
日付をどう表示するかについては別記事にまとめてあります。
Excelの関数「DATEDIF」を使って年齢を計算する方法のまとめ。
「DATEDIF」関数を使えば開始日から終了日までの年数、月数、日数が計算できます。ただ、この「DATEDIF」関数は関数一覧から呼び出すことができない関数で、手入力するしかない関数です。
この開始日から終了日までの経過年数を求められることを応用すれば生年月日から今日あるいは指定した日付までの経過年数を求めることができる、つまり年齢を求めることができました。
この「DATEDIF」を使って複数の人の年齢を求めるとき、計算式をコピーする必要があるなら今日あるいは指定した日付を絶対参照で固定しておかないと、参照先がないというエラーが表示されます。
「DATEDIF」という綴りを覚えないといけない、手入力なので引数の画面が表示されない、というちょっと面倒な部分もありますが、「DATEDIF」関数という関数があるんだということを知っておけば、仕事の工程計算などにも使えるんじゃないかと思い、身近な年齢を求める例を使ってご紹介しました。