生年月日から現在の年齢(満年齢)を取得する(DATEDIF,TODAY)

現在の日付と生年月日の情報から現時点での年齢を自動で取得できると便利です。ここでは Excel の関数である DATEDIF 関数と TODAY 関数を組み合わせて、生年月日から現在の年齢(満年齢)を取得する方法について解説します。

※ DATEDIF 関数を使わずに満年齢を取得することもできます。詳しくは「生年月日から現在の年齢(満年齢)を取得する(YEAR,MONTH,DAY,DATE,IF,TODAY)」を参照されてください。

(Last modified: )

満年齢を取得する

最初に現在日時と生年月日から満年齢を取得します。次のシートを見てください。

満年齢を取得する(1)

満年齢を取得して D3 セルに表示します。 D3 セルに次のような数式を入力しました。

=DATEDIF(C3,TODAY(),"Y")&"歳"

満年齢を取得する(2)

DATEDIF 関数の 1 番目の引数に生年月日が入力された C3 セル、 2 番目の引数に現在日を取得するために TODAY()、 3 番目の引数に単位を表す "Y" を指定しています。 "Y" の場合は開始日から終了日までの満年数を取得します。

Enter キーを押すと C3 セルには次のように表示されました。

満年齢を取得する(3)

C4 セルから C6 セルまで同じように数式を入力しました。

満年齢を取得する(4)

現在日時と生年月日から満年齢を取得することができました。

解説

このサンプルを実行した日付が 2022/03/01 です。生年月日が 1994/10/3 の人は 2022-1994=28 ですが、 3月1日 が 10月3日を超えていないので満年齢は 27 となります。また生年月日が 2010/1/18 の人は 2022-2010=12 ですが、 3月1日 が 1月18日 を超えているので満年齢は 12 となります。

今回使用した関数の解説は下記を参照されてください。

満年齢+月数を取得する

次に現在日時と生年月日から満年齢+月数を取得します。次のシートを見てください。

満年齢+月数を取得する(1)

満年齢+月数を取得して E3 セルに表示します。 E3 セルに次のような数式を入力しました。

=DATEDIF(C3,TODAY(),"Y")&"歳"&DATEDIF(C3,TODAY(),"YM")&"カ月"

満年齢+月数を取得する(2)

1 つ目の DATEDIF 関数は満年齢を取得したときと同じです。 2 つ目の DATEDIF 関数の 1 番目の引数に生年月日が入力された C3 セル、 2 番目の引数に現在日を取得するために TODAY()、 3 番目の引数に単位を表す "YM" を指定しています。 "YM" の場合は開始日から終了日までの月数を取得します。年は無視されて計算されます。

Enter キーを押すと C3 セルには次のように表示されました。

満年齢を取得する(3)

C4 セルから C6 セルまで同じように数式を入力しました。

満年齢を取得する(4)

現在日時と生年月日から満年齢+月数を取得することができました。

解説

このサンプルを実行した日付が 2022/03/01 です。月数について生年月日が 1994/10/3 の人は 10月3日 から 3月1日 までは 4 ヵ月となります。また生年月日が 2010/1/18 の人は 1月18日 から 3月1日 までは 1 ヵ月となります。

満年齢+月数+日数を取得する

最後に現在日時と生年月日から満年齢+月数+日数を取得します。次のシートを見てください。

満年齢+月数+日数を取得する(1)

満年齢+月数+日数を取得して F3 セルに表示します。 F3 セルに次のような数式を入力しました。

=DATEDIF(C3,TODAY(),"Y")&"歳"&DATEDIF(C3,TODAY(),"YM")&"カ月"&DATEDIF(C3,TODAY(),"MD")&"日"

満年齢+月数+日数を取得する(2)

1 つ目と 2 つ目の DATEDIF 関数は満年齢+月数の場合と同じです。 3 つめの DATEDIF 関数の 1 番目の引数に生年月日が入力された C3 セル、 2 番目の引数に現在日を取得するために TODAY()、 3 番目の引数に単位を表す "MD" を指定しています。 "MD" の場合は開始日から終了日までの日数を取得します。年と月は無視されて計算されます。

Enter キーを押すと C3 セルには次のように表示されました。

満年齢+月数+日数を取得する(3)

C4 セルから C6 セルまで同じように数式を入力しました。

満年齢+月数+日数を取得する(4)

現在日時と生年月日から満年齢+月数+日数を取得することができました。

解説

このサンプルを実行した日付が 2022/03/01 です。 2022/02 の日数が 28 日のたえ、日数について生年月日が 1994/10/3 の人は 3日 から 1日 までは 26 日(28-3+1)となります。また生年月日が 2010/1/18 の人は 18日 から 1日 までは 11 日(28-18+1)となります。

-- --

Excel の関数である REPT 関数、 LEN 関数、 TEXT 関数を組み合わせて、数値をゼロ埋めして桁を揃える方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。