小学館IDをお持ちの方はこちらから
ログイン
初めてご利用の方
小学館IDにご登録いただくと限定イベントへの参加や読者プレゼントにお申し込み頂くことができます。また、定期にメールマガジンでお気に入りジャンルの最新情報をお届け致します。
新規登録
人気のタグ
おすすめのサイト
企業ニュース

ExcelのYEARFRAC関数を使って生年月日から年齢を算出する方法

2025.09.25

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. 1年をNASD方式で計算する
  2. 実際の日数で計算する

■1.1年をNASD方式で計算する

まず、1年をNASD方式で計算する方法を解説する。NASD方式とは、1ヶ月を30日、1年を360日とみなして計算する方式を指す。

以下では「=YEARFRAC(A2,B2)」としている。A2に開始日、B2に終了日を記入している。3つめの引数を省略することで、NASD方式で割合を計算することが可能だ。

NASD方式で計算

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

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年の半分に満たないということになる。

0.495と表示

YEARFRAC関数で生年月日から年齢を求める方法

続いて、YEARFRAC関数で生年月日から年齢を求める方法を解説する。

YEARFRAC関数で年齢を求める手順は次のとおり。

  1. 生年月日の書かれた表を作成する
  2. 現在の日付を入力する
  3. YEARFRAC関数で年齢を求める
  4. 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」と表示された。これで生年月日から年齢を求めることができた。

正確な年齢

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

他の行にも反映

@DIMEのSNSアカウントをフォローしよう!

DIME最新号

最新号
2025年10月16日(木) 発売

DIME最新号は、「2025ヒット商品総決算」特集&「攻殻機動隊」映像化30周年大特集!今年話題を集めたヒット商品をどこよりも早く徹底解剖。DIMEでしか手に入らない「攻殻機動隊」オリジナルカレンダーが特別付録に付いてくる!

人気のタグ

おすすめのサイト

ページトップへ

ABJマークは、この電子書店・電子書籍配信サービスが、著作権者からコンテンツ使用許諾を得た正規版配信サービスであることを示す登録商標(登録番号 第6091713号)です。詳しくは[ABJマーク]または[電子出版制作・流通協議会]で検索してください。