Excelで年齢を計算する【DATEDIFとYEARFRACの2通り】
エクセルで年齢計算をするなら、自分でやるよりも関数を使った方がお手軽です。今回はよく使われている隠し関数のDATEDIFと年利などの割合を求めるのに使うYEARFRAC関数を使った方法を紹介します。
DATEDIF関数とYEARFRAC関数の使い方
まずは2つの関数を使った下の結果を見て下さい。
それぞれの関数について色々と書いてありますが、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日 |
4 | 30日/360日(ヨーロッパ方式) |
とよくわかりにくいですが、たいていの場合は1で問題ありません。
この関数で年齢計算をする場合は、少しだけ注意が必要です。というのも、この関数では小数まで出てくるのですが、桁数表示を減らすとExcelでは四捨五入されて表示されるからです。
なので、下のようにROUNDDOWN(数値の切り捨て)関数と合わせると、そういったミスがなくなります。
ROUNDDOWN(YEARFRAC(開始日,終了日,1),0)
また、DATEDIFでもYEARFRACでも、終了日を現在にするのであればTODAY()を入力すればOKです。
YEARFRACで年齢を計算する場合は、最終的には下のようにすれば完璧です。
ROUNDDOWN(YEARFRAC(開始日,TODAY(),1),0)
年齢の計算が必要な場面では、このどちらかの関数を使ってみて下さい。