Excel一覧 Excel操作・関数 データ操作 年齢計算

【Excel】生年月日から年齢を自動計算する方法【DATEDIF関数で正確&ラクラク】

Excelで名簿や管理表を作成する際に、「生年月日から年齢を自動で計算できたら便利だな」と思ったことはありませんか?

✔ 毎年手動で年齢を更新するのが面倒…
✔ TODAY関数を使って、いつ開いても現在の年齢が表示されるようにしたい
✔ 誕生日がまだ来ていない場合にも、正確な「満年齢」を表示したい

そんなときに使えるのが、DATEDIF関数 × TODAY関数の組み合わせです!

この記事では、初心者の方でも簡単にできる「生年月日から年齢を自動で計算する方法」を分かりやすくご紹介します。

使用する関数

関数機能
DATEDIF2つの日付の差を求める関数(隠し関数)
TODAY()今日の日付を自動取得する関数

✅生年月日から満年齢を求める数式

セルA1に生年月日が入力されている場合、以下の数式を使えば現在の年齢が表示されます:

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

✅ これで「今日時点での満年齢」が表示されます。
Excelを開くたびに、TODAY関数が自動更新されるため、年齢も自動で最新に!

生年月日から満年齢を求める使用例

氏名生年月日年齢の数式結果(2025年2月10日基準)
佐藤一郎1990/03/15=DATEDIF(B2, TODAY(), "Y")34歳
山田花子2005/12/25=DATEDIF(B3, TODAY(), "Y")19歳

【Excel】年齢計算しようとしてDATEDIF関数が見つからない?【使えないときの原因と対処法】

✅「○歳○ヶ月」形式で表示する方法

年齢をより詳細に、「何歳何ヶ月」で表示したいときは次のようにします:

=DATEDIF(A1, TODAY(), "Y") & "歳" & DATEDIF(A1, TODAY(), "YM") & "ヶ月"

YM は「年を除いた月数」を意味するので、「○歳○ヶ月」が正確に表示されます。

【Excel】「何歳何ヶ月」まで表示する年齢計算の方法【DATEDIF関数で簡単!】

DATEDIF関数が使えない・出てこない?

✔ 原因と対処法

  • DATEDIFはExcelの「隠し関数」のため、オートコンプリートに表示されません。
  • 関数としては使用可能ですが、手入力が必要です。
  • 構文の順序を間違えると #NUM! エラーが出るため注意!

正しい構文

=DATEDIF(開始日, 終了日, "Y")

※生年月日(開始日)が「前」に来るようにしましょう。

✅将来の日付に対して年齢を計算する

例えば、入学日や試験日の時点での年齢を知りたい場合は、TODAY() の代わりに指定日を使えばOKです。

例:生年月日がA2、基準日がB2にある場合

=DATEDIF(A2, B2, "Y")

✅ 過去・未来どちらの年齢でも計算可能です。

⚠ よくあるトラブルと対処法

エラー・現象主な原因解決方法
#VALUE! エラー生年月日が日付形式でない(文字列)セルの書式を「日付」にする
#NUM! エラー生年月日がTODAYより後になっているセルの内容を見直す
関数が候補に出てこないDATEDIFは候補に表示されない手入力で関数を入力する

まとめ

目的数式例
満年齢だけを出したい=DATEDIF(A1, TODAY(), "Y")
○歳○ヶ月で表示したい=DATEDIF(A1, TODAY(), "Y") & "歳" & DATEDIF(A1, TODAY(), "YM") & "ヶ月"
任意の日に対して年齢を出す=DATEDIF(A1, B1, "Y")(B1に指定日)
🎯 実務での活用シーン
  • 名簿や社員一覧の年齢自動更新
  • 保険・契約書類の年齢チェック
  • 入学・採用時点での年齢計算
  • 顧客の年齢による分類・分析

-Excel一覧, Excel操作・関数, データ操作, 年齢計算