Excelで年齢を計算する【DATEDIFとYEARFRACの2通り】

Excel, PC

Excel関数

エクセルで年齢計算をするなら、自分でやるよりも関数を使った方がお手軽です。今回はよく使われている隠し関数のDATEDIFと年利などの割合を求めるのに使うYEARFRAC関数を使った方法を紹介します。

スポンサーリンク

DATEDIF関数とYEARFRAC関数の使い方

まずは2つの関数を使った下の結果を見て下さい。

datedifとyearfracの比較

それぞれの関数について色々と書いてありますが、DATEDIF関数もYEARFRAC関数も

開始日,終了,第3引数

という構文になっています。大まかには、この第3引数に何を入れるかだけの違いですので、使い方はどちらも難しくありません。

DATEDIF関数

最初は、良く使われているDATEDIF関数を使った方法です。この関数は、予測変換や関数の挿入などでは出てこない(隠し関数)ので、全てキーボードから入力する必要がありますが、関数としてはちゃんと機能します。

構文は

DATEDIF(開始日,終了日,"表示単位")

というシンプルなものです。第3引数の表示単位については

表示意味
“Y"期間の年数
“M"期間の月数
“D"期間の日数
“YM"年数および日数を無視した開始日から終了日までの月数
“YD"年数を無視した開始日から終了日までの日数
“MD"年数および月数を無視した開始日から終了日までの日数

と様々ですが、年齢を求めるのであれば、

DATEDIF(開始日,終了日,"Y")

でOKです。

YEARFRAC関数

YEARFRAC関数は、全日数が1年間に対して占める割合を計算する関数です。こちらは通常の関数ですので、ちゃんとガイドが出て来ます。

こちらもDATEDIF関数と同じで

YEARFRAC(開始日,終了日,基準)

といったシンプルなものです。基準の内容は

表示意味
0または省略30日/360日(NASD方式)
1実際の日数/実際の日数
2実際の日数/360日
3実際の日数/365日
430日/360日(ヨーロッパ方式)

とよくわかりにくいですが、たいていの場合は1で問題ありません。

この関数で年齢計算をする場合は、少しだけ注意が必要です。というのも、この関数では小数まで出てくるのですが、桁数表示を減らすとExcelでは四捨五入されて表示されるからです。

なので、下のようにROUNDDOWN(数値の切り捨て)関数と合わせると、そういったミスがなくなります。

ROUNDDOWN(YEARFRAC(開始日,終了日,1),0)

また、DATEDIFでもYEARFRACでも、終了日を現在にするのであればTODAY()を入力すればOKです。

YEARFRACで年齢を計算する場合は、最終的には下のようにすれば完璧です。

ROUNDDOWN(YEARFRAC(開始日,TODAY(),1),0)

年齢の計算が必要な場面では、このどちらかの関数を使ってみて下さい。

Excel, PC

Posted by 管理人