可使用MID函数提取身份证第7-14位,再用TEXT函数格式化为“yyyy-mm-dd”等样式;或用DATE函数构建可计算的日期值;亦可文本拼接、兼容15位补全年份,或用Power Query批量处理。

如果您在Excel中需要从18位身份证号码中提取出生年月信息,则可以通过内置函数实现精准定位和格式化输出。以下是多种可行的方法:
一、使用MID函数配合TEXT函数提取并格式化
身份证号码第7至第14位为出生日期(YYYYMMDD格式),MID函数可截取该段字符串,再用TEXT函数将其转换为“YYYY年MM月DD日”或“YYYY-MM-DD”等易读格式。
1、在目标单元格中输入公式:=TEXT(MID(A1,7,8),"yyyy-mm-dd")(假设身份证号在A1单元格)。
2、按Enter键确认,结果将显示为标准日期格式,如“1990-05-12”。
3、若需仅显示年月(不含日),可改为:=TEXT(MID(A1,7,8),"yyyy-mm")。
二、使用DATE函数组合年月日构建日期值
通过MID分别提取年、月、日三部分,并用DATE函数生成真正的Excel日期序列值,便于后续参与日期计算或排序。
1、输入公式:=DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2))。
2、按Enter键后,单元格显示为序列号(如40665),此时需设置单元格格式为“短日期”或“自定义yyyy-mm-dd”。
3、右键单元格 → 选择“设置单元格格式” → 在“数字”选项卡中选择“日期”类别并指定样式。
三、使用LEFT、MID、RIGHT嵌套提取年月日并拼接
不依赖TEXT或DATE函数,直接以文本方式拼接年、月、日,适用于仅需显示而无需参与计算的场景。
1、输入公式:=MID(A1,7,4)&"年"&MID(A1,11,2)&"月"&MID(A1,13,2)&"日"。
2、按Enter键确认,结果为纯文本,如“1990年05月12日”。
3、若需去除前导零(如“05”变为“5”),可嵌套VALUE函数:=MID(A1,7,4)&"年"&VALUE(MID(A1,11,2))&"月"&VALUE(MID(A1,13,2))&"日"。
四、使用SUBSTITUTE与REPLACE预处理15位身份证号
部分旧身份证为15位,缺少年份前两位(即YYMMDD格式),需先补全为19YY,再统一按18位逻辑处理。
1、判断身份证长度并补年份:输入公式:=IF(LEN(A1)=15,"19"&MID(A1,7,6),MID(A1,7,8))。
2、将该结果作为中间列,再套用前述MID+TEXT组合公式进行格式化输出。
3、若需一步到位,可嵌套为:=TEXT(IF(LEN(A1)=15,"19"&MID(A1,7,6),MID(A1,7,8)),"yyyy-mm-dd")。
五、使用Power Query批量清洗并提取(适用于大量数据)
当处理数百行以上身份证数据时,Power Query可自动识别并结构化提取,避免公式拖拽错误,且支持一键刷新。
1、选中身份证号所在列 → 点击“数据”选项卡 → 选择“从表格/区域”导入到Power Query编辑器。
2、右键该列 → 选择“提取” → “文本范围”,起始位置填“7”,长度填“8”,点击确定。
3、选中新列 → 点击“转换”选项卡 → “数据类型” → “日期”,系统将自动识别YYYYMMDD格式并转为日期类型。









