Excelで年齢を計算する方法|生年月日から満年齢を求める

Excelでは、生年月日と基準日を使って満年齢を計算できます。今日現在の年齢だけでなく、過去や未来の特定日時点で何歳だったか、何歳になるかも求められます。

Excelでは、生年月日と基準日を使って満年齢を計算できます。今日現在の年齢を求めるだけでなく、過去や未来の特定日時点で何歳だったか、何歳になるかを計算することもできます。

年齢計算では、単純に「現在の年-生まれた年」を計算するだけでは正しい満年齢にならない場合があります。その年の誕生日を迎えているかどうかを判定する必要があるためです。

ブラウザ上ですぐに確認したい場合は、年齢計算ツールで生年月日と基準日を入力すると、満年齢や詳しい年齢を自動で確認できます。

Excelで満年齢を計算する基本

たとえば、A2セルに生年月日が入力されているとします。

A2:1990/5/10

今日現在の年齢を計算する

今日現在の満年齢を求める場合は、DATEDIF関数とTODAY()を使います。

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

この式では、A2が生年月日、TODAY()が今日の日付、「Y」が完全に経過した年数を表します。結果が36なら、今日現在の満年齢は36歳です。A2に生年月日を入力しておけば、ファイルを開いた日の年齢を自動で計算できます。

指定日時点の年齢を計算する

年齢計算では、必ずしも今日を基準日にする必要はありません。基準日を別のセルに入力する場合は、次のように指定します。

A2:1990/5/10
B2:2026/8/11

=DATEDIF(A2,B2,"Y")

結果は36です。1990年5月10日から2026年8月11日までに、完全に36年が経過しているためです。過去や未来の日付を指定すれば、その日時点で何歳かを確認できます。

誕生日前と誕生日後で年齢が変わる

満年齢では、その年の誕生日を迎えているかどうかが重要です。2000年8月11日生まれの場合、2026年8月10日時点では満25歳です。一方、2026年8月11日の誕生日を迎えると満26歳になります。

単純に「2026-2000=26」と計算するだけでは、8月10日時点では1歳ずれてしまいます。DATEDIFを使うと、誕生日前後を考慮して満年齢を求められます。

年・か月・日まで詳しく表示する

年齢に「歳」を付けて表示する

計算結果を36ではなく36歳と表示したい場合は、文字列を連結します。

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

表示結果は36歳です。計算結果の見た目だけを整えたい場合に使えます。

DATEDIFで年・月・日を表示する

満年齢だけでなく、「35歳8か月12日」のように詳しい年齢を表示する場合は、DATEDIFの単位を組み合わせます。

年数:=DATEDIF(A2,B2,"Y")
残りの月数:=DATEDIF(A2,B2,"YM")
残りの日数:=DATEDIF(A2,B2,"MD")

1つのセルにまとめる場合は、次の式を使います。

=DATEDIF(A2,B2,"Y")&"歳"&DATEDIF(A2,B2,"YM")&"か月"&DATEDIF(A2,B2,"MD")&"日"

ただし、月末や日付条件によっては「MD」の扱いに注意が必要です。単純な満年齢だけが必要な場合は、「Y」だけを使う方が分かりやすくなります。

複数人の年齢を計算する

実際の表では、A列に氏名、B列に生年月日、C列に年齢を入力する形がよく使われます。B2に生年月日が入っている場合、C2には次の式を入力します。

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

その後、C2の式を下へコピーすれば、複数人の年齢をまとめて計算できます。

空白セルでは何も表示しない

生年月日が未入力の行でエラーや不要な数字を表示したくない場合は、IFを組み合わせます。

=IF(B2="","",DATEDIF(B2,TODAY(),"Y"))

B2が空白なら何も表示せず、生年月日が入力されている場合だけ年齢を計算できます。

基準日を固定して年齢を計算する

今日ではなく特定の日付を固定して計算する場合は、D1セルなどに基準日を入力し、絶対参照にします。

D1:2026/4/1

=DATEDIF(B2,$D$1,"Y")

$D$1のように絶対参照にしておけば、式を下へコピーしても基準日は変わりません。複数人を同じ基準日で比較するときに便利です。

西暦・和暦の日付で年齢を計算する

Excelでは、通常の日付形式で生年月日を入力しておけば計算できます。セルの表示形式を変更すれば、1990年5月10日のように表示することもできます。

年齢計算では、セルが正しい日付データとして認識されていることが重要です。和暦で表示したい場合も、内部の日付データを変えずに表示形式を変更します。日付データとして認識されていれば、表示が西暦でも和暦でも計算できます。

年齢計算でよくあるエラーと注意点

日付が文字列になっている場合

見た目が1990/5/10でも、Excel内部では文字列として保存されている場合があります。その状態では、DATEDIFが期待どおりに動かないことがあります。セルの表示形式だけでなく、日付データとして認識されているか確認してください。

生年月日が基準日より後の場合

生年月日は基準日以前である必要があります。たとえば生年月日が2030/1/1、基準日が2026/8/11の場合は正しい年齢を求められません。入力規則を使って、未来の日付を入力しにくくする方法もあります。

2月29日生まれの場合

2月29日生まれの年齢計算では、2月29日がない平年の扱いを確認してください。一般的な満年齢の計算では、平年は3月1日を誕生日相当日として扱う方法があります。

次の誕生日までの日数を求める

満年齢だけでなく、次の誕生日までの日数を求める場合は、今年の誕生日が基準日より後かどうかを判定し、すでに過ぎている場合は翌年の誕生日を使う必要があります。DATEDIFで年齢だけを求める場合より式が複雑になるため、目的を分けて考えると分かりやすくなります。

Excelの日付計算と年齢計算の違い

Excelで日付に日数を足したり引いたりする計算と、年齢計算は少し考え方が違います。日付計算では「基準日+30日」のような処理を行います。一方、年齢計算では、生年月日から基準日までに何年が完全に経過したかを求めます。そのため、単純な年の引き算ではなく、誕生日を迎えたかどうかを考慮する必要があります。

年齢計算ツールとExcelの使い分け

Excelは、名簿や顧客一覧など複数人の年齢をまとめて計算したい場合に便利です。一方、「この生年月日なら今何歳か」「特定の日付時点で何歳か」「次の誕生日まであと何日か」のように、その場ですぐ確認したい場合は、年齢計算ツールを使う方法もあります。用途に応じて使い分けてください。

よくある質問

Excelで生年月日から年齢を計算するにはどうすればいいですか?

DATEDIF関数を使います。生年月日がA2セルに入っている場合、今日現在の満年齢は=DATEDIF(A2,TODAY(),"Y")で求められます。

Excelで満年齢を計算できますか?

できます。DATEDIFの「Y」を使うと、2つの日付の間で完全に経過した年数を取得できます。

誕生日の前でも正しく年齢を計算できますか?

できます。DATEDIFは完全に経過した年数を求めるため、その年の誕生日前であれば自動的に1歳少ない満年齢になります。

今日ではなく指定日時点の年齢を計算できますか?

できます。基準日を別のセルに入力し、=DATEDIF(A2,B2,"Y")のように指定します。

Excelで子供の年齢も計算できますか?

できます。子供の場合も大人と同じ方法で、生年月日から基準日時点の満年齢を計算できます。

まとめ

Excelで年齢を計算する場合は、DATEDIF関数を使う方法が分かりやすいです。

  • 今日現在の満年齢:=DATEDIF(A2,TODAY(),"Y")
  • 指定日時点の満年齢:=DATEDIF(A2,B2,"Y")
  • 詳しい年齢:DATEDIFの「Y」「YM」「MD」を組み合わせる

複数人の年齢を表の中で管理したい場合はExcelが便利です。1人分の満年齢や詳しい年齢、次の誕生日などをすぐ確認したい場合は、年齢計算ツールをご利用ください。

最終更新日:2026年8月11日