Excelで名簿や管理表を作成する際に、「生年月日から年齢を自動で計算できたら便利だな」と思ったことはありませんか?
✔ 毎年手動で年齢を更新するのが面倒…
✔ TODAY関数を使って、いつ開いても現在の年齢が表示されるようにしたい
✔ 誕生日がまだ来ていない場合にも、正確な「満年齢」を表示したい
そんなときに使えるのが、DATEDIF関数 × TODAY関数の組み合わせです!
この記事では、初心者の方でも簡単にできる「生年月日から年齢を自動で計算する方法」を分かりやすくご紹介します。
使用する関数
関数 | 機能 |
---|---|
DATEDIF | 2つの日付の差を求める関数(隠し関数) |
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に指定日) |
🎯 実務での活用シーン
- 名簿や社員一覧の年齢自動更新
- 保険・契約書類の年齢チェック
- 入学・採用時点での年齢計算
- 顧客の年齢による分類・分析