在excel中提取身份证出生日期有四种方法:一用mid+date函数转换为可计算日期;二用text+mid生成文本型生日;三用datevalue+mid处理含x的18位证;四用power query批量结构化提取。

如果您在Excel中处理身份证号码数据,需要从中提取出生日期信息,则可以通过字符串截取和日期格式转换实现。以下是几种常用的方法:
一、使用MID函数提取并转换为日期
MID函数可从身份证号第7位开始截取8位数字(即年月日),再用DATE函数或双减号转换为标准日期格式。该方法适用于18位身份证,且假设原始数据无空格或字符干扰。
1、选中目标单元格,在编辑栏输入公式:=DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2))
2、按Enter确认,结果将显示为系统默认日期格式(如2000/1/1)。
3、右键单元格 → 选择“设置单元格格式” → 在“日期”类别中选取所需显示样式(如“2000年1月1日”)。
二、使用TEXT与MID组合返回文本型生日
此方法不生成真正的日期序列值,而是直接输出带分隔符的文本格式生日,适合仅作展示、不参与日期计算的场景。
1、在目标单元格输入公式:=TEXT(MID(A1,7,8),"0000-00-00")
2、按Enter确认,结果呈现为“1990-01-01”样式的字符串。
3、若需兼容15位旧版身份证,可嵌套IF判断长度:=IF(LEN(A1)=18,TEXT(MID(A1,7,8),"0000-00-00"),TEXT(MID(A1,7,6),"1900-00-00"))
三、使用SUBSTITUTE与DATEVALUE处理含X的18位身份证
当身份证末位为字母X时,MID提取的年月日部分不受影响,但需确保整个公式不因X出现在其他位置而报错;本方法通过DATEVALUE配合文本拼接,增强容错性。
1、在目标单元格输入公式:=DATEVALUE(MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2))
2、按Enter确认,Excel自动识别并转换为日期序列值。
3、若出现#VALUE!错误,检查A1是否含有不可见空格或全角字符,可用TRIM和CLEAN嵌套修正:=DATEVALUE(MID(TRIM(CLEAN(A1)),7,4)&"-"&MID(TRIM(CLEAN(A1)),11,2)&"-"&MID(TRIM(CLEAN(A1)),13,2))
四、使用Power Query批量提取(适用于大量数据)
Power Query可在Excel 2016及以上版本中调用,适合对整列身份证号进行结构化清洗与字段拆分,避免公式拖拽误差。
1、选中身份证号所在列 → 点击【数据】选项卡 → 选择【从表格/区域】→ 勾选“表包含标题”→ 点击确定。
2、在Power Query编辑器中,右键该列 → 选择【转换】→ 【提取】→ 【文本范围】→ 输入起始位置“7”,长度“8”。
3、选中新生成的8位数字列 → 点击【转换】→ 【数据类型】→ 【日期】→ 选择“日期”类型。










