WPS如何用身份证号码提取年龄?公式和批量计算方法

更新时间:2026-10-29 11:25

在WPS表格中,身份证号码放在A2时,可用 =DATEDIF(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),TODAY(),"Y") 计算18位号码对应的周岁。公式从第7至第14位取出生日期,再按当天是否已经过生日返回完整年龄。在B2输入后向下填充即可批量计算。

WPS身份证号码要保留完整

检查号码列没有变成科学计数法或在末尾补0。新录入数据时,把A列设为文本再粘贴。已有数据可在空白列输入 =LEN(A2) 检查位数。18位可按新版号码公式计算,15位旧号码需要单独补世纪,长度不对、夹有空格或非号码字符时回到原始名单修正。

空白行可填写 =IF(A2="","",DATEDIF(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),TODAY(),"Y")),空行便不会显示错误。

从身份证号码取出出生日期并算周岁

1、在结果列写入公式

18位号码的第7至第10位是年份,第11、12位是月份,第13、14位是日期。例如 110101199305123456 中的 19930512 代表1993年5月12日。MID(A2,7,4)、MID(A2,11,2) 和 MID(A2,13,2) 分别取出这三段,DATE 把它们拼成可计算的日期。

2、用DATEDIF得到完整年数

DATEDIF(出生日期,TODAY(),"Y") 的 "Y" 返回两个日期之间完整经过的年份,因此适合填周岁。不要只用当前年份减出生年份,否则今年生日尚未到的人会被多算一岁。下图展示了把出生日期作为起点、以当天为终点计算年龄的结果形式。

WPS如何用身份证号码提取年龄?公式和批量计算方法

3、核对首行后批量填充

挑一条已知生日的数据核对B2的结果,再拖动单元格右下角的填充柄。公式中的A2不要写成 $A$2,这样向下复制时每一行才会读取本行身份证号码。

15位号码和常见错误怎样处理

看到的结果检查方向
#VALUE!检查号码长度、空格和第7至第14位能否组成真实日期
年龄比预期大一岁改用DATEDIF的 "Y",不要只做年份相减
整列年龄相同检查公式是否把A2锁成了绝对引用
15位旧号码年份只有两位,确认档案年代后在年份前补上对应世纪

15位号码的出生日期从第7位开始,年份只有两位。例如 110101930512345 中的 930512 表示1993年5月12日时,可在年份前拼接 19,再使用与18位号码相同的DATE和DATEDIF思路。涉及跨世纪或资料不完整的旧档案,核对原始生日后再批量计算。

年龄会随日期变化。要保存某天的统计结果,复制年龄列后选择【选择性粘贴】→【数值】即可固定结果。需要表格每天自动更新时,保留公式。