WPS根据身份证号提取年龄的公式无法保存怎么办?
WPS中根据身份证号提取年龄的公式无法提交或保存,先看身份证号是否已经被表格改成科学计数法,再检查结果列是不是文本格式。源数据可用后,把公式中的括号、逗号和引号改成英文半角,重新输入以等号开头的公式,绝大多数保存问题都能排除。
身份证号先保留为文本,别让出生日期失真
18位身份证号超过表格可精确显示的数字长度,直接录入可能变成科学计数法,后几位还会变为0。把身份证号列设为文本格式后重新粘贴原始号码。已经失真的旧数据不能只改显示格式,应从原始名单重新导入,否则第7至第14位不再是可信的出生年月日。
年龄公式要从第7位取得四位年份、从第11位取得月份、从第13位取得日期。先在空白格测试MID的结果是否是完整生日,再把它用于计算,能避免把地址码或缺失号码带进公式。
在结果列重新输入周岁公式
1、把出生日期拼成可计算的日期
假设身份证号在B2,可用DATE(MID(B2,7,4),MID(B2,11,2),MID(B2,13,2)) 组合出生日期。DATE的三个参数分别是年、月、日,任何一项为空或超出有效范围,后面的年龄计算就会出错。
2、用DATEDIF计算完整年数
周岁可使用 =DATEDIF(DATE(MID(B2,7,4),MID(B2,11,2),MID(B2,13,2)),TODAY(),"Y")。其中Y返回出生日期到今天之间的完整年数,生日尚未到来时不会提前加一岁。

3、单行试算后向下填充
第一条数据得出数值后,用填充柄应用到整列。抽查一位今年生日已过和一位生日未过的人员,两个结果分别应反映完整周岁,才能说明不是简单年份相减。
WPS身份证号年龄公式无法保存时逐项检查
- 结果格显示完整公式文字,说明单元格可能仍是文本。把年龄列改为常规后,重新输入等号和公式。
- 复制的公式含中文逗号、中文括号或中文引号,WPS无法按函数语法解析。删除后用键盘重新输入英文半角符号。
- 出现 #NUM!,检查由身份证号组合出的开始日期是否晚于TODAY。开始日期晚于结束日期时,DATEDIF不能计算。
- 某几行单独报错,核对身份证号长度、隐藏空格和第7至第14位的日期片段,而不是删除整列公式。
保存前用结果和公式栏做一次复核
| 检查对象 | 正常表现 | 异常后的处理 |
|---|---|---|
| 年龄单元格 | 显示数值 | 改为常规格式后重输公式 |
| 公式栏 | 以等号开头且符号为英文半角 | 不要粘贴混入中文标点的版本 |
| 保存后重开 | 公式和数值都还存在 | 只修正异常行的源号码再填充 |
工作簿保存、关闭后再打开一次,查看年龄列仍是数值且公式栏保留公式。这样可证明公式已经写入,也能及时发现由身份证号源数据导致的个别错误。






