发布于2026-06-14 阅读(0)
扫一扫,手机访问
从一串18位的身份证号码里快速准确地提取出生日期,是很多办公场景下的常见需求。号码中第7到第14位这8个数字,就是关键的出生年月日信息。掌握下面几种方法,你就能轻松搞定这个问题。

最直接的方法莫过于使用MID函数。这个函数就像一把精准的“文本手术刀”,可以从指定位置开始,截取出你需要的字符片段。对于身份证号,起始位置固定为第7位,需要截取的长度固定为8位。
操作很简单:在目标单元格输入公式 =MID(A1,7,8) ,其中A1是存放身份证号的单元格。按下回车,一串如“19950328”的8位数字就出来了。
不过,这串数字看起来还不够直观。如果想让它变成Excel能识别的真正日期,以便后续进行年龄计算或排序,可以嵌套DATE函数:=DATE(LEFT(MID(A1,7,8),4), MID(MID(A1,7,8),5,2), RIGHT(MID(A1,7,8),2))。这个公式会分别提取出年、月、日并组合成标准日期。
如果目的只是为了让人看得清楚,而不需要做日期运算,那么TEXT函数是更好的选择。它能把提取出的数字格式化成我们熟悉的样式。
试试这个公式:=TEXT(MID(A1,7,8),"0000-00-00")。回车后,显示结果就会变成“1995-03-28”这种带分隔符的形式,报表或打印出来会非常美观。
需要注意的是,这样得到的结果本质上还是一个文本字符串,Excel并不会把它当作真正的日期值来处理。
实际工作中,我们拿到的数据可能没那么“干净”。身份证号里有时会夹杂着空格、短横线“-”,或者其他符号。这时候直接使用MID函数,可能会因为起始位置计算错误而得到错误结果。
解决办法是先清理,再截取。可以用这个组合公式:=MID(SUBSTITUTE(SUBSTITUTE(A1,"-","")," ",""),7,8)。它先用SUBSTITUTE函数把短横线和空格都替换掉(即删除),然后再用MID函数从清理后的文本第7位开始截取。
如果数据中还有其他千奇百怪的干扰字符,那就继续嵌套SUBSTITUTE,或者考虑使用更高版本的Excel中的REGEXREPLACE函数(如果支持的话),用正则表达式来一次性清理所有非数字字符。
对于不太熟悉公式的朋友,Excel自带的“分列”功能是个图形化的好帮手。它不需要写任何代码,通过鼠标点击就能完成分割。
具体步骤是:选中身份证号所在列,依次点击【数据】→【分列】。在向导中,选择【固定宽度】,点击下一步。这时会进入一个预览界面,你需要在标尺上第6位数字之后(也就是第7位数字之前)点击一下,建立第一条分列线;接着在第14位数字之后再点击一下,建立第二条分列线。这样就把身份证号分成了前6位、中间8位、后面4位三部分。
继续点击下一步,在列数据格式设置中,将中间这一列设置为【文本】,最后点击完成。原来的一列数据就被分成了三列,中间那一列就是你想要的8位出生日期,可以直接复制使用。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9