関数 EXCEL&VBA

エクセルで生年月日から年齢の自動計算ができないときの対処法

生年月日から年齢の自動計算をしたいのにできない。
こんな悩みを持っている エクセルユーザーさんは意外と多いかも。

今回は便利な関数をつかって、生年月日から年齢を自動計算する方法について解説します。
エクセルで生年月日から年齢自動計算できないときの対処法
以下、ご一読ください。



生年月日から年齢の自動計算はできない!?

生年月日の情報が手元にあって、それをもとに年齢自動計算して何かに役立てたいとき、エクセルで年齢計算はできないのか?

生年月日から 年齢を計算 するには、DATEDIF関数 を使います。

DATEDIF関数

DATEDIF は「ウラ関数」?

DATEDIF関数 をご存じない方、あるいは「見つからない」という方も多いかもしれません。

それもそのはず。
実はこの DATEDIF関数、[関数の挿入][関数の貼り付け]ダイアログでは表示されず、セルに直接入力しないといけない「ウラ関数」なのです。
一説には他のアプリケーションとの互換性を保つためにサポート的に用意されたものだとか。

DATEDIF関数の書式は;

DATEDIF開始日, 終了日, 単位)

具体例で説明しましょう。

本日時点での満年齢を算出

例として、今日の時点での満年齢を生年月日から算出してみましょう;

開始日(第一引数)=生年月日
終了日(第二引数)=今日の日付(TODAY())

ここまで 大丈夫でしょうか?
第三引数の「単位」にはバリエーションがあり、状況によって使い分けが可能です。

単位 戻り値
"Y" 期間内の満年齢
"M" 期間内の満月数
"D" 期間内の満日数
"MD" 1か月未満の日数
"YM" 1年未満の月数
"YD" 1年未満の日数

今回の例の場合は、"Y" を引数として入力します。
下のような表があった場合、セルB2にはどのような式が入るでしょうか?

正解は、「=DATEDIF(A2, TODAY( ), "Y")」です。


▲年齢が自動計算された!

※ 運用上の注意点として、このDATEDIF関数で求められる「満年齢」は誕生日が来ると1歳加算される仕様になっています。

「なにがいけないの?」と思われる方もいらっしゃると思います。

実は、「年齢計算ニ関スル法律」では、満年齢は誕生日の前日に1歳が加えられるとなっています。これに準じた場合、上記の計算式は「=DATEDIF (A2, TODAY( )+1, "Y")」とする必要があります。
小学生のころ、4月1日生まれの子はひとつ前の学年に入っていましたよね。アレです。

ま、そこまで厳密にこだわるならばですが。

エクセルで生年月日から年齢自動計算できないときの対処法』はここまで。
その他の関連記事と合わせて仕事や趣味に役立ててください。

関連記事・広告






-関数, EXCEL&VBA
-