Excelで年齢を自動計算する式(DATEDIF関数)

生年月日と基準日を入れる(Excelの A2・B2 に当たります)

生年月日と基準日を入れると、Excelの式で出る値がその場で分かります。式はそのままコピーして使えます。

年齢を出すExcelの式

満年齢(今日時点)

=DATEDIF(A2,TODAY(),"Y")

A2の生年月日から今日までの満年齢です。誕生日が来た日に1つ増えます。TODAY()は開くたびに今日の日付になります。

何歳何か月

=DATEDIF(A2,TODAY(),"Y")&"歳"&DATEDIF(A2,TODAY(),"YM")&"か月"

"YM"は年を無視した月の差です。「25歳3か月」のように文字列で出ます。

基準日を決めて満年齢

=DATEDIF(A2,B2,"Y")

B2に基準日(4月1日時点など)を入れます。開始日が終了日より後だとエラー(#NUM!)になります。

DATEDIFを使わない満年齢

=YEAR(TODAY())-YEAR(A2)-(TEXT(TODAY(),"mmdd")<TEXT(A2,"mmdd"))

今年の誕生日が来ていなければ1を引く式です。DATEDIFの"Y"と同じ値になります(このページのテストで全日付を突き合わせています)。

数え年

=YEAR(TODAY())-YEAR(A2)+1

生まれた年を1歳とし、元日に1つ加える数え方です。誕生日は関係しません。

A2に生年月日(日付の形式)、B2に基準日を入れた場合の式です。セルを変えるときは A2・B2 を読み替えてください。

使うときの注意

DATEDIFの"MD"は使わないMicrosoftの説明では、DATEDIFの"MD"の単位は既知の制限があり使用を勧めない(負の値・不正確な結果になり得る)とされています。年齢には"Y"と"YM"を使うのが安全です。
法律上の年齢とは1日ずれることがあります年齢計算ニ関スル法律と民法第143条により、年をとるのは誕生日の前日が終わる瞬間です。日付で見ればDATEDIFも誕生日の日に1つ増えるので、同じ日に変わります。法律上の加齢日(誕生日の前日)を日付で確かめたいときは<a href='/tools/age-calculator'>年齢計算</a>へ。
うるう日(2月29日)生まれ2月29日生まれは、平年の2月28日はまだ満年齢が増えず、3月1日に増えます(DATEDIF・上の代替式とも)。
表示が数字や日付になるとき結果のセルの表示形式が「日付」だと、年齢が日付で表示されます。「標準」か「数値」に直してください。

Excelで年齢計算のよくある質問

Excelで年齢を自動計算する式は?

A2に生年月日があるとき、=DATEDIF(A2,TODAY(),"Y") で満年齢が出ます。TODAY()が今日の日付なので、開くたびに更新されます。

DATEDIF関数がエラーになるのはなぜ?

開始日(生年月日)が終了日(基準日)より後のとき #NUM! になります。また、A2が日付でなく文字列だと #VALUE! になるので、日付の形式で入れてください。

DATEDIF関数は使っても大丈夫ですか?

Microsoftは"MD"の単位を既知の制限があるため推奨していません。年齢には"Y"と"YM"を使い、"MD"は避けるのが安全です。

入力した生年月日は送信されますか?

されません。このページの入力欄の計算はこの端末のブラウザの中だけで行います。

2026年10月3日現在の情報です(データ最終更新: 2026年10月2日)。出典: Microsoft サポート「DATEDIF 関数」(単位 Y・M・D・YM・YD・MD。MD は既知の制限があり非推奨。取得日 2026-10-02) / 年齢計算ニ関スル法律(明治35年法律第50号)・民法第143条