年齢を自動計算したい!今日や基準日を基に関数で求める方法

ここでは、エクセルで関数を使って年例を自動計算する方法を解説します。

 

今日時点での年齢や、基準日に対しての年齢を適切に求める方法の説明です。

1.DATEDIF関数が簡単でおすすめ

年齢を求めるのにおすすめなのは、「DATEDIF関数」です。

 

DATEDIF関数は、引数が少ないので数式が短く、簡単に作れます。

 

1-1.DATEDIF関数とは

DATEDIF関数とは、「2つの日付の間の日数か月数、または年数を計算し返す」関数です。

 

このうち「年数を返す」よう指定することで、年齢を求めることができます。

 

DATEDIF関数の数式の形は、次の通りです。

=DATEDIF(開始日,終了日,単位)

指定するのは「開始日」と「終了日」、「単位」の3つです。

 

例えば、「開始日」を「1999/1/1」、「終了日」を「2021/11/24」、「単位」を「"Y"」とすると、「1999年1月1日生まれの人」の「2021年11月24日時点での年齢」が分かります。

なお、各引数の指定の仕方はこの後詳しく説明します。

 

1-2.DATEDIF関数にヘルプはない

ただし、DATEDIF関数には他の関数と違ってヘルプがないのがネックです。

 

例えば、DATEDIFと入力している途中で、他の関数であれば候補が出てくるのですが、DATEDIF関数は出てきません。

 

また、「関数の引数ダイアログボックス」もありません。

しかし、関数名を入力すればちゃんと使えるので、そういうものだと思って使いましょう。

2.各引数の指定の仕方

DATEDIF関数の引数、「開始日」、「終了日」、「単位」はそれぞれ次のように指定します。

 

2-1.「開始日」の指定の仕方

開始日には、「いつから~」の日を入れるところなので、誕生日を入れます。

 

入れ方は2パターンあり、「日付を直接入力する」方法と、「日付の入ったセル番号を入力する」方法です。

 

(1)日付を直接入力する場合

日付を直接入力する場合には、日付を「"」で囲みます。

 

例えば、

=DATEDIF("2021/4/1",~)

のようになります。

 

(2)日付の入ったセル番号を入力する場合

セル番号を入力する場合には、そのまま入れます。

 

例えばセルA1に日付が入っている場合には、

=DATEDIF(A1,~)

となります。

 

2-2.「終了日」の指定の仕方

終了日には、「いつまで」の日を入れるところなので、今日の日などの基準日を入れます。

 

指定の仕方は、開始日と同じです。

 

2-3.「単位」の指定の仕方

単位には、返す値の単位を指定します。

 

年齢のみを知りたい場合には、「"Y"」と入れます。

 

なお、年齢と月数を求める方法は、この後別に解説します。

 

ちなみに、「単位」で指定できる種類は次の通りです。

指定の仕方 戻り値(返ってくる値)
 "Y" 期間の年数
"M" 期間の月数
"D" 期間の日数
"MD" (使用不可)←仕様的な問題あり
"YM" 開始日から終了日までの月数(年と日は無視)
"YD" 開始日から終了日までの日数(年と月は無視)

2-4.数式を分かりやすく書き替えると

以上のことから、基準日に対する年齢を求める時、DATEDIF関数の引数は次のようにも書けます。

=DATEDIF(誕生日,基準日,"Y")

 

こちらの表現の方が、分かりやすいでしょう。

3.DATEDIF関数の数式の作り方

では、DATEDIF関数を使った数式を実際に作ってみます。

 

以下手順です。

 

(1)以下の数式をコピーし、セルに貼り付ける

【コピーする数式】

=DATEDIF(誕生日,基準日,"Y")

 

(2)「誕生日」の文字を消し、誕生日を入力する

※ 日付を直接入力する場合は「"」で囲む。セル番号はそのまま入力。

 

(3)「基準日」の文字を消し、基準日を入力する

※ 日付を直接入力する場合は「"」で囲む。セル番号はそのまま入力。

 

(4)Enterキーを押せば完了

このようにすれば簡単に分かりやすく、年齢を求めることができます。

4.今日時点での年齢や年齢と月数を求める

次に、DATEDIF関数で「今日時点の年齢」や「年齢と月数」を求める方法です。

 

4-1.「今日時点での年齢」を求めるには

今日時点での年齢を求めるには、「基準日にTODAY関数を使う」と簡単です。

 

数式の形は、次の通りです。

=DATEDIF(誕生日,TODAY(),"Y")

TODAY関数は、カッコ内に何も指定しなくても自動的に今日の日付を返してくれます。

 

ですから、上の数式をコピーして貼り付け、「誕生日」だけを入れ直せばOKです。

 

4-2.「年齢と月数」を求めるには

年齢と月数(〇歳△ヶ月)を求める場合、数式は次のようになります。

=DATEDIF(誕生日,基準日,"Y")&"歳"&DATEDIF(誕生日,基準日,"YM")&"ヶ月"

年齢と「歳」、月数と「ヶ月」を&でつなげています。

 

こちらも、数式をコピーして使うと簡単です。

5.他の関数で年齢を求めたい場合

DATEDIF関数は、とても使いやすいのでオススメですが、ダイアログボックスがないなどの難点もあるため、他の方法も紹介します。

 

5-1.数式の形は

数式の形は、次の通りです。

=YEAR(基準日)-YEAR(誕生日)+IF(DATE(YEAR(基準日),MONTH(誕生日),DAY(誕生日))>=基準日,-1,0)

ちょっと複雑なので、数式をコピーして使うと楽でしょう。

 

5-2.引数の指定の仕方

数式は長いですが、引数は「基準日」と「誕生日」の2つだけです。

 

どちらも、「日付を直接入力する場合には『"』で囲み」、「セル番号の場合にはそのまま入力」します。

 

例えば、誕生日がセルA1に、基準日がセルB1に入っていた時、数式は次のようになります。

=YEAR(B1)-YEAR(A1)+IF(DATE(YEAR(B1),MONTH(A1),DAY(A1))>=B1,-1,0))

-3

.「今日時点での年齢」を求めるには

今日時点での年齢を求める時、基準日の所にTODAY関数を使うのは、この数式でも同じです。

 

数式の形は、次の通りです。

=YEAR(TODAY())‐YEAR(誕生日)+IF(DATE(YEAR(TODAY()),MONTH(誕生日),DAY(誕生日))>=TODAY(),0,-1)

例の数式は、次の通りです。

=YEAR(TODAY())-YEAR(A1)+IF(DATE(YEAR(TODAY()),MONTH(A1),DAY(A1))>=TODAY(),-1,0)

 

数式の形は、やはりコピーして使うと楽でしょう。

 

以上、参考になれば幸いです。

 


口コミ・評判のいいExcel本の紹介】


Top