
YEARFRAC関数は、2つの日付の間の全日数が、1年間に占める割合を計算する関数である。YEARFRAC関数を応用することで、生年月日から年齢を求められる。
目次
YEARFRAC関数の使い方が分からない、という方もいるのではないだろうか。YEARFRAC関数を使うことで、生年月日から年齢を求めることが可能だ。
本記事ではYEARFRAC関数の使い方について解説する。YEARFRAC関数の基本的な使い方に加えて、生年月日から年齢を求める方法についてまとめた。
YEARFRAC関数とは?
YEARFRAC関数とは、「2つの日付の間の全日数」が1年間に占める割合を計算できる関数だ。たとえば、「2024/01/01」と「2024/07/01」を指定することで、1/1〜7/1の全日数が、1年間に占める割合を計算することができる。
また、YEARFRAC関数を応用することで、生年月日から年齢を求められる。生年月日と現在の日付の間の全日数をYEARFRAC関数で計算すれば、おのずと年齢が分かる。
■YEARFRAC関数の基本的な構文
YEARFRAC関数の基本的な構文は次のとおり。
- =YEARFRAC({開始日},{終了日},{基準})
1つめの引数には開始日、2つめには終了日を指定する。これら2つを指定することで、開始日〜終了日の全日数が1年間に占める割合を計算できる。
3つめの引数には、計算で使用する基準日数を指定する。
YEARFRAC関数の基本的な使い方
YEARFRAC関数の基本的な使い方についてまずみていこう。
YEARFRAC関数で次の2つを行う方法を順番に解説する。
- 1年をNASD方式で計算する
- 実際の日数で計算する
■1.1年をNASD方式で計算する
まず、1年をNASD方式で計算する方法を解説する。NASD方式とは、1ヶ月を30日、1年を360日とみなして計算する方式を指す。
以下では「=YEARFRAC(A2,B2)」としている。A2に開始日、B2に終了日を記入している。3つめの引数を省略することで、NASD方式で割合を計算することが可能だ。

実行すると、「0.5」と表示された。NASD方式では1ヶ月を30日とみなして計算している。そのため、1/1〜7/1はちょうど1年の半分になる。よって「0.5」と表示される。

■2.実際の日数で計算する
NASD方式とは、1ヶ月を30日、1年を360日とみなして計算する方式である。しかし、この方式では、実際の割合を算出することはできない。実際には1ヶ月は31日の場合もあるし、1年は365日である。また、うるう年の場合も考慮しなければいけない。
今回は、実際の日数で計算する方法を解説する。実際の日数で計算するには、3つめの引数に「1」を指定する。
以下では「=YEARFRAC(A2,B2,1)」としている。3つめの引数に「1」を指定することによって、実際の日数で計算することが可能だ。

実行すると、「0.495……」と表示された。2月が28日までしかないなどの理由で、1/1〜7/1の日数は実際は、1年の半分に満たないということになる。

YEARFRAC関数で生年月日から年齢を求める方法
続いて、YEARFRAC関数で生年月日から年齢を求める方法を解説する。
YEARFRAC関数で年齢を求める手順は次のとおり。
- 生年月日の書かれた表を作成する
- 現在の日付を入力する
- YEARFRAC関数で年齢を求める
- ROUNDDOWN関数で整数に直す
ひとつひとつの手順について詳しく見ていこう。
■1.生年月日の書かれた表を作成する
まず、以下のような生年月日が書かれている表を作成しよう。

■2.現在の日付を入力する
続いて、表外に現在の日付を記入しておく。現在の日付はYEARFRAC関数で使うことになる。
ちなみに、現在の日付は「=TODAY()」とすることで簡単に入力できる。

■3.YEARFRAC関数で年齢を求める
情報が揃ったところで、YEARFRAC関数で年齢を求めてみよう。
以下では「=YEARFRAC(B2,$F$2,1)」としている。開始日を生年月日、終了日を現在の日付にすることで、この間の日数が1年に占める割合を求めることができる。

実行すると「35.523…」と表示された。

■4.ROUNDDOWN関数で整数に直す
最後に、ROUNDDOWN関数で整数に直す必要がある。
以下では、「=ROUNDDOWN(YEARFRAC(B2,$F$2,1),0)」としている。YEARFRAC関数で求めた数値を、ROUNDDOWN関数で整数に直している。

実行すると「35」と表示された。これで生年月日から年齢を求めることができた。

他の行にも関数を反映させると次のようになる。
