想在 WPS 表格里从一整列身份证号中快速提取出生日期,最省事的办法根本不用写一长串 MID、LEFT、RIGHT 嵌套函数——直接用智能分列先把识别规则跑通,再把拆出来的年月日整理成标准日期格式就行。几十条、几百条身份证号这么处理,可比手工一个个截取快得多,完全不会函数的新手也能直接上手。
这个方法特别适合员工信息表、会员登记表、报名名单、学员档案这类已经录完身份证号、但还没单独留出出生日期字段的表格。只要原始号码格式大体统一,智能分列很快就能定位到出生日期那一段,后面要做年龄计算、分组统计都顺很多。
第一步:确保身份证号码列无空格、无乱码
动手之前,先检查下身份证号这一列,确认所有号码都放在同一列里,没有多余空格、短位无效号、带星号的脱敏号,也没夹杂多余的文本说明。智能分列虽然能自动找规律,但前提是数据本身得尽量规整。要是同一列里既有完整18位号,又有15位老号,还混着备注文字,识别结果很容易乱掉。
经验做法是:先随机翻几条看看,确认都是连续的正常身份证号,把明显异常的内容先单独标出来。只要主体数据干净,后面分列的时候就不用一边提取一边返工,整体效率高很多。
第二步:选中身份证号码列,打开智能分列入口
确认原始列没问题之后,直接选中整列身份证号,在 WPS 表格顶部的「数据」选项卡里找到智能分列功能。别一开始只选单个单元格,最好整列一起选,这样智能分列会基于整批样本判断规律,识别出生日期的位置会更稳定。

这一步关键不是点得有多快,而是确认你选的就是那一整列身份证号。列选错了,后面智能分列再智能也会拆错字段——尤其是姓名、手机号、身份证号混排的表格里,更要先把目标列选准。
第三步:让智能分列识别身份证中的出生日期段
身份证号里的出生日期本来就在中间固定位置,18位的号码基本都能直接识别出8位纯数字的年月日。打开智能分列之后,先看系统弹出的预览结果,是不是已经把日期部分单独拆出来了。如果预览里已经出现类似19980516这种连续的8位日期,就说明规则识别基本正确,可以继续往下走。

通常需要盯着预览确认三件事:出生日期有没有完整拆出来、有没有把前后的地址码和顺序码一起带进去、不同样本是不是都按同一个规则拆分。这三项都没问题,基本就可以放心执行下一步。
第四步:重点核对身份证样本,避免出生日期位置识别错误
真正执行分列之前,最好挑几条你能背出对应生日的身份证号样本核对一下。比如号码中间那8位对应的年、月、日,是不是和拆分出来的结果完全一致,尤其要防止把月份和日期拆错,或是15位老身份证和18位新号混在一起的时候,出现识别规则偏移。

这一步看起来像是多做了一次无用检查,其实特别值。不然等整列都拆完了才发现日期位置偏了,后面还得整批回滚重做。提前用样本核对,直接就能把这种低级返工的坑给堵上。
第五步:将拆出的年月日转换为标准日期格式
智能分列刚拆出来的结果,大多时候是纯数字字符串,比如19980516。接下来最好把这一列转成真正的日期格式,后面用来算年龄、工龄、做月份统计的时候才好用。要是就保留成一串数字,看着像日期,实际排序和计算都容易出问题。

经验做法是:先把结果列统一改成 yyyy-mm-dd 或者 yyyy/m/d 这类标准日期显示样式,再随机点几个单元格,看看顶部公式栏里的内容是不是已经被系统识别成日期值。这一步转对了,后面算年龄、筛生日月份、做透视表统计都会顺得很。
第六步:抽查几行结果,确认整列出生日期提取正确
做完别着急关表,最后再抽几条不同年份、不同月份的身份证号核对一遍,看看拆出来的日期有没有空值、错位或者格式不统一的情况。尤其是那些尾号带 X、身份证号前后不小心混了空格的记录,更要多看一眼,确认智能分列没有因为个别样本异常就跑偏规则。

顺手用好 WPS 智能分列,不只是把一串身份证号随便拆开,而是把后续要分析用的出生日期字段提前规整好。你可以把原始身份证列留作备份,智能分列用来快速提取内容,最后再转成标准日期格式做整理层。后面不管要算年龄、按出生年月分组,还是继续做各类名单统计,都能直接接着往下用。
