可使用MID、TEXT、DATE函数或Power Query提取身份证出生日期:18位取第7-14位,15位取第7-12位并补1900年,DATE函数生成可计算日期值,Power Query支持批量自动识别与错误检测。

如果您在Excel中处理大量身份证号码数据,需要从中快速提取出生日期,则可以通过内置函数实现自动解析。以下是几种常用且有效的提取方法:
一、使用MID函数提取生日
MID函数可从文本字符串的指定位置开始,按指定长度截取字符。中国18位身份证号中,出生年月日固定位于第7至第14位(共8位),因此可直接定位截取。
1、选中目标单元格,输入公式:=MID(A1,7,8)(假设身份证号在A1单元格)。
2、按Enter键确认,得到形如“19900315”的8位数字结果。
3、选中该单元格,右键→“设置单元格格式”→“日期”→选择“2001/03/15”类格式,完成自动转换为标准日期显示。
二、使用TEXT与MID组合生成标准日期格式
为避免手动设置格式,可将MID提取结果直接用TEXT函数包裹,输出为带分隔符的日期字符串,确保显示一致性且不依赖单元格格式设置。
1、在目标单元格输入公式:=TEXT(MID(A1,7,8),"0000-00-00")。
2、按Enter键确认,结果直接显示为“1990-03-15”格式的文本型日期。
3、若需参与后续日期计算,应改用DATE函数替代TEXT,避免生成纯文本。
三、使用DATE函数精确构建日期值
DATE函数可将年、月、日三个数值参数组合为真正的Excel日期序列值,支持计算与排序。结合MID分别提取年、月、日三位段,能确保结果为可运算的日期类型。
1、在目标单元格输入公式:=DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2))。
2、按Enter键确认,返回对应出生日期的序列值(如1990年3月15日显示为32937,但单元格格式设为日期后即显示“1990/3/15”)。
3、选中结果区域,按Ctrl+1调出格式设置,选择“日期”类别下的任意标准格式即可正常显示。
四、兼容15位身份证号的通用提取方案
部分历史身份证为15位,其出生年月日位于第7至第12位(共6位),年份为两位。需先判断位数再动态适配,确保公式对两类身份证均有效。
1、在目标单元格输入公式:=IF(LEN(A1)=18,DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),DATE(MID(A1,7,2)+1900,MID(A1,9,2),MID(A1,11,2)))。
2、按Enter键确认,公式自动识别身份证长度:18位按公元年解析,15位则默认加1900年补全世纪。
3、该结果为真实日期值,可直接用于DATEDIF、YEAR等函数计算年龄或筛选条件。
五、使用Power Query批量处理并自动识别
当数据量极大或需定期更新时,Power Query提供可视化列操作,无需记忆公式,且支持自动错误检测与类型转换。
1、选中身份证号所在数据区域,点击“数据”选项卡→“从表格/区域”→勾选“表包含标题”→确定进入Power Query编辑器。
2、右键身份证号列→“转换”→“提取”→“文本范围”,起始位置填“7”,长度填“8”,点击确定。
3、选中新生成的8位列→“转换”→“数据类型”→“日期”,Power Query自动尝试解析并标出错误行(如非数字或非法日期)。










