Excel

年齢を計算する【#Excel #日付 #中級者】

あなたは、
ある日時点での年齢
計算したいと思ったことは
ありますか。

年齢の計算のためには、
誕生日の年と今年の年を
引き算するだけでなく
今年の誕生日を
過ぎているかどうかも
考慮する必要があり、
なかなかスマートに
計算することができません。

この記事では、
年齢の計算を
簡単かつスマート
行う方法を紹介します。

そんなこともう知っている
と言うあなたも、
きっと新しいひらめきの
役に立つと思います。

ぜひ3分ほど
眺めていってください。

さもなくば、もったいないですよ。

普通の計算方法

一見してわかりますが、かなり複雑な数式になっています。

=IF(現在の日付>=DATE(YEAR(現在の日付),MONTH(誕生日),DAY(誕生日)),YEAR(現在の日付)-YEAR(誕生日),YEAR(現在の日付)-YEAR(誕生日)-1)

数式だととても分かりにくいので日本語で書くと、

現在の日付が今年の誕生日以降であれば、
今年の年から、誕生日の年を引く、
そうでなければ、
今年の年から誕生日の年を引き、さらに1を引く。

となります。

説明されれば
そりゃあそうだ
となること請け合いですが、
数式が長く複雑なために、
現在の日付や誕生日が入力されたセルが
移動すると修正が大変面倒です。

次に紹介するのは、
数式もシンプルで、
修正も簡単な、
必殺技とも呼べる方法です。

必殺技:INT関数+VALUE関数+TEXT関数

=INT((VALUE(TEXT(現在の日付,”yyyyMMdd”))VALUE(TEXT(誕生日,”yyyyMMdd”)))/10000)

このように
入力することで、
現在の年齢を
算出することが
できます。

この必殺技は、
2段階
分けることが
できます。

第1段階は、日付を
20181227のような8桁の数値に
変換することです。
詳しくは下の記事を参照してください。

入力された日付を8桁の数値に直す【#Excel #日付 #中級者】あなたは、 エクセルに入力された日付を 8桁の数値に変換したい と思ったことはありますか。 エクセルに入力された日付は、 ...

第2段階は、
8桁の数値同士を引き算して、
10000で割って、
小数点以下を切り捨てる処理です。

どうして年齢が計算できるのか

まず、年同士を引き算すると
2018-1988=30
となります。

しかし、
月日同士を
引き算すると
1227-1228=-1
となり、
10000の位から
1繰り下がってくることになります。

このとき、
8桁の数値同士で引き算すると、
299999となり、
上2桁が年齢になります。

これを10000で割って
小数点以下を切り捨てることで、
年齢が計算できます。

ちなみに、
その年の誕生日が来た後
(例えば12/28)に計算すると、
月日同士の引き算が
マイナスにならないため、
10000の位からの
繰り下がりが起こらず
年同士の引き算の結果が
やはり年齢になります。

あとがき

年齢の計算の方法を
2つ紹介しましたが、
いかがでしょうか。

もしあなたが
人事に関する
お仕事をしているなら、
年齢の計算は
常時行われることでしょうし、
同時に
自動で行われなければ
面倒でならないことでしょう。

この記事で紹介した必殺技は、
とても簡単でシンプル
書き方になっています。

ちょっと試しに使ってみるのも、
悪くないと思いませんか。

そうすればきっと、
あなたの日常に
ちょっとの余裕
できることと思います。