Excel怎么计算年龄?根据出生日期自动计算
- 2026-09-23 14:13:56
收集员工信息、办理保险、核对会员资料……表格里明明有出生日期,你却还在一个个心算年龄?今天教你 3 种公式,出生日期一填,年龄自动算出,而且每年自动长一岁,永不过期。
场景举例
员工信息表,根据 B 列出生日期自动算年龄(以今天 2026/9/13 打开文件为例):
| 姓名 | 出生日期 | 年龄 |
|---|---|---|
| 陈静 | 1990/5/20 | 36 |
| 刘洋 | 1985/11/3 | 40 |
| 孙倩 | 2000/1/15 | 26 |
目标:C 列一个公式,年龄自动计算并随时间更新。
方法一:DATEDIF 算周岁(最准确)
操作步骤
- 在 C2 输入:
=DATEDIF(B2,TODAY(),"Y")
- 回车下拉,得到 36、40、26。
这是标准的周岁口径:生日没过就不加 1。刘洋 1985/11/3 出生,2025 年 11 月 3 日才满 40 周岁,所以现在是 40,一天都不会错。
方法二:X岁X个月
在 C2 输入:
=DATEDIF(B2,TODAY(),"Y")&"岁"&DATEDIF(B2,TODAY(),"YM")&"个月"
陈静显示「36岁3个月」。幼儿园、早教、母婴行业登记小朋友信息常用这种写法,家长一眼就懂。
方法三:YEAR 相减(粗算,注意误差)
在 C2 输入:
=YEAR(TODAY())-YEAR(B2)
只比年份数字,刘洋会算出 41——他的生日还没到,结果比周岁大了 1 岁。只有明确按「出生年份」统计时才用它。
📌 判断年龄对不对,先问口径:报保险、签合同认周岁(方法一),做人数统计才用方法三。
公式说明
| 参数 | 含义 | 示例取值 |
|---|---|---|
| B2 | 开始日期(出生日期) | 1990/5/20 |
| TODAY() | 结束日期,自动取今天 | 2026/9/13 |
| "Y" | 完整年数,即周岁 | 36 |
| "YM" | 忽略整年后剩余的月数 | 3 |
常见问题
Q1:结果显示成 1900 年的一串日期? 答:年龄列被设成了日期格式。选中 C 列 → 右键 →「设置单元格格式」→「常规」,就变回数字了。
Q2:为什么和用身份证号算出来的不一样? 答:身份证算年龄要先用 MID 函数从 18 位号码里截取出出生年月日,得到出生日期后再套用本文公式,思路完全一致。本篇先讲出生日期列的用法,身份证提取后面单独讲。
Q3:想固定按某个日期算年龄怎么办?
答:把 TODAY() 换成固定日期即可,例如 =DATEDIF(B2,DATE(2026,8,31),"Y"),常用于开学、参保时点的统计。
避坑指南
- 出生日期一定要是真日期格式,1990.5.20、19900520 这类写法先用「分列」转成标准日期再计算;
- 年龄结果随 TODAY() 自动变化,存档报表记得粘贴成「值」,不然明年再看全变了;
- 法律文件、保险投保一律以周岁为准,别用 YEAR 相减的粗算结果,差 1 岁可能出大事。
写在最后
| 方法 | 适用场景 | 难度 |
|---|---|---|
| DATEDIF "Y" | 周岁,正式场合首选 | ⭐ |
| "Y"+"YM" 组合 | 显示「X岁X个月」 | ⭐⭐ |
| YEAR 相减 | 按年份粗略统计 | ⭐ |
记不住别的没关系,方法一这一行公式,够你用十年。
💡 觉得有用的话,记得点赞、在看、转发三连,让更多职场同事看到。关注我,每天更新一个实用办公技巧!下一篇教你「Excel怎么提取年份?从日期中提取年份」,一个函数搞定。
如果这篇内容帮到你,欢迎点赞、在看和转发给需要的同事朋友~后续会持续更新实用技巧,记得关注不迷路。