【Excel】誕生日から年齢を自動計算する方法|DATEDIF・TODAYの使い方
Excelで誕生日から年齢を出すなら、まず覚える式は =DATEDIF(生年月日,TODAY(),”y”) です。満年齢を自動で計算できるため、名簿、会員管理、家族の誕生日一覧、社内の年齢確認表などにそのまま使えます。
- 誕生日から現在の満年齢を自動計算する式
- DATEDIF関数の単位 y / ym / md の使い分け
- 誕生日当日・未来日・空白セルで起きるエラー対策
- 誕生日一覧表を管理しやすくする実務向けテンプレート
目次
結論:満年齢はDATEDIFで計算する
生年月日がA2セルに入っている場合、現在の満年齢は次の式で求められます。
=DATEDIF(A2,TODAY(),"y")
TODAY() は今日の日付を返す関数です。ブックを開いた日付に合わせて結果が更新されるため、毎年手で年齢を書き換える必要がありません。
誕生日一覧表の作り方
まずは生年月日と年齢の列を分けて作ります。後から並べ替えやフィルターを使いやすくするため、1人1行の表にしておくのがポイントです。
| A列 | B列 | C列 |
|---|---|---|
| 名前 | 生年月日 | 満年齢 |
| 田中さん | 1990/4/10 | =DATEDIF(B2,TODAY(),"y") |
| 佐藤さん | 1985/12/3 | =DATEDIF(B3,TODAY(),"y") |
B列の生年月日は、文字列ではなく日付として入力してください。見た目が日付でも、文字列になっていると計算できないことがあります。
DATEDIFの単位と使い分け
DATEDIFの第3引数には、どの単位で差を出すかを指定します。年齢計算でよく使うのは次の3つです。
| 単位 | 意味 | 使いどころ |
|---|---|---|
"y" | 満年数 | 満年齢を出す |
"ym" | 年を除いた月数 | 何歳何か月を出す |
"md" | 月を除いた日数 | 何歳何か月何日を出す |
年齢だけなら "y" で十分です。月数や日数まで表示したい場合は、次のように文字列を結合します。
=DATEDIF(B2,TODAY(),"y")&"歳"&DATEDIF(B2,TODAY(),"ym")&"か月"
次の誕生日・残り日数も出す
誕生日一覧では、年齢だけでなく「次の誕生日」や「あと何日」も出せると便利です。
今年の誕生日を出す
生年月日がB2にある場合、今年の誕生日は次の式で作れます。
=DATE(YEAR(TODAY()),MONTH(B2),DAY(B2))
次の誕生日までの日数を出す
今年の誕生日が過ぎている場合は来年の誕生日を見る必要があります。次の式なら、次に来る誕生日までの日数を出せます。
=IF(DATE(YEAR(TODAY()),MONTH(B2),DAY(B2))>=TODAY(),DATE(YEAR(TODAY()),MONTH(B2),DAY(B2))-TODAY(),DATE(YEAR(TODAY())+1,MONTH(B2),DAY(B2))-TODAY())
誕生日が近い人だけを抽出したい場合は、この残り日数列で昇順に並べ替えます。
よくあるエラーと対処法
空白セルで変な年齢が出る
生年月日が空白のまま式だけ入っていると、意図しない結果になることがあります。空白なら空白を返すようにしておくと安全です。
=IF(B2="","",DATEDIF(B2,TODAY(),"y"))
未来の日付で#NUM!になる
生年月日が今日より後の日付になっていると、開始日が終了日より後になるためエラーになります。入力ミスを見つけやすいように、未来日なら注意文を出す式にしておきます。
=IF(B2>TODAY(),"生年月日を確認",DATEDIF(B2,TODAY(),"y"))
日付が文字列になっている
セルの左上に緑の三角が出ていたり、日付が左寄せになっていたりする場合は、文字列扱いの可能性があります。日付として認識されているか確認し、必要なら「データ」→「区切り位置」やDATEVALUE関数で日付に変換してください。
よくある質問
Q. Excelで誕生日から年齢を出す一番簡単な式は?
生年月日がA2にある場合は =DATEDIF(A2,TODAY(),"y") が基本です。満年齢だけを出したいなら、この式が最もシンプルです。
Q. DATEDIF関数が候補に出ないのはなぜ?
DATEDIFは古いブックとの互換性のために残っている関数で、候補に表示されない場合があります。候補に出なくても、セルに直接入力すれば使えます。
Q. 誕生日当日に年齢は増えますか?
はい。DATEDIF(生年月日,TODAY(),"y") は満年齢を返すため、誕生日当日になると年齢が1つ増えます。
Q. 年齢だけでなく、何歳何か月何日まで表示できますか?
できます。年は "y"、年を除いた月は "ym"、月を除いた日は "md" を組み合わせます。ただし "md" は条件によってずれやすいため、厳密な日数管理では別式も検討してください。
