用=date(mid(a2,7,4),mid(a2,11,2),mid(a2,13,2))可直接从18位身份证第7–10、11–12、13–14位提取年月日并转为标准日期,避免中间列且支持日期运算。

Excel中需要从18位身份证号码里精准提取出生日期,比如把“11010119900307251X”变成“1990-03-07”,必须避开前6位地址码和末尾校验码的干扰,直接定位第7到第14位数字并规范格式化。
用MID函数提取年月日数字串
选中要输出结果的单元格(如B2),输入公式:=MID(A2,7,8),按Enter。这一步从A2单元格的第7个字符开始,连续取8个字符,正好对应身份证中的8位生日数字(YYYYMMDD)。
MID函数不识别日期含义,只做纯文本截取,所以“19900307”会原样显示为一串数字,不能直接参与日期计算或排序。
用DATE函数转成标准日期格式
在另一列(如C2)输入公式:=DATE(LEFT(B2,4),MID(B2,5,2),RIGHT(B2,2)),按Enter。该公式将B2中的8位数字拆解为年、月、日三部分,并组合成真正的Excel日期序列值。
LEFT(B2,4)取前4位作年份,MID(B2,5,2)从第5位起取2位作月份,RIGHT(B2,2)取最后2位作日期——这三段必须严格对应YYYYMMDD结构,否则月份超出12或日期超出当月天数会返回#VALUE!错误。
此时单元格显示为序列号(如33052),需设置单元格格式为“短日期”或“2001年3月14日”才能正常查看。
一步到位:合并公式+自动格式化
方法一:在目标单元格(如D2)直接输入完整公式:=--TEXT(MID(A2,7,8),"0000-00-00"),按Enter后,双击填充柄向下复制。
TEXT函数把8位数字强制转为“YYYY-MM-DD”文本格式,前面加两个减号(--)可将其转换为真正的日期数值,后续可参与DATEDIF、YEAR等日期运算。
方法二:使用DATE嵌套(更稳健):=DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),按Enter。此写法不依赖中间列B2,直接从原始身份证A2中定位:第7–10位是年,第11–12位是月,第13–14位是日。
【必须确保A2中为18位身份证号,含X的需为大写;若存在15位旧版身份证,该公式将出错】











