员工花名册、客户档案里都有一长串身份证号,要一个个算出年龄?手工翻日历、或照着年份自己减,几百个人得做到天黑,还容易算错。其实身份证号里就藏着出生年月日,用公式几秒就能批量算出年龄。
身份证号里,出生日期藏在哪
18 位身份证号的第 7~14 位就是出生年月日:
- 第 7~10 位:出生年份
- 第 11~12 位:出生月份
- 第 13~14 位:出生日期
比如 110101199001011234,中间 19900101 就是 1990 年 1 月 1 日。拿到年份,年龄就出来了。
方法一:简单算年龄(按年份)
只按年份算,够应付大多数场景:
`` =YEAR(TODAY())-MID(身份证单元格, 7, 4) ``
MID(身份证单元格,7,4):从第 7 位开始取 4 位,得到出生年份YEAR(TODAY()):今年年份- 两者相减,就是年龄
把身份证号放在 B2,公式写成 =YEAR(TODAY())-MID(B2,7,4),往下填充,整列年龄就出来了。
方法二:精确到生日(推荐)
按年份减,可能还没过生日就多算了一岁。要精确,用这个公式:
`` =DATEDIF(DATE(MID(B2,7,4), MID(B2,11,2), MID(B2,13,2)), TODAY(), "y") ``
它从身份证里拼出完整的出生日期,再用 DATEDIF 算出到今天的完整年数,过了生日才算满那岁,结果最准。
一个必须注意的坑:身份证号要先设成文本
身份证号有 18 位,超过表格能精确显示的 15 位,直接输入很容易变成科学计数法、后几位变 0,这样算出的年龄是错的。
正确做法:录入前把这一列设成"文本"格式,或在号码前加一个英文单引号 ',让表格把身份证当文本处理,再套公式就准了。
小结
根据身份证号算年龄,核心就是 MID 从号码里取出出生日期,再和今天的年份/日期做减法。简单统计用年份相减,要准就用 DATEDIF 算到生日。WPS 表格里这几个函数和 Excel 完全通用,公式直接照抄就能用。几百人的年龄,一条公式往下拖就全出来了。
用 WPS 表格算年龄,更快
身份证号提取生日、算年龄这类公式,WPS 表格直接支持,和 Excel 写法完全一致,做好的表也能互通。更贴心的是,WPS 表格有 AI 辅助,你只需要把需求说清楚,比如"根据身份证号自动算出年龄并保留到当前日期",它能帮你把公式生成好,填进去就能批量算出结果。花名册、档案表这类常用场景,用 WPS 就能轻松搞定。