Excel中提取身份证生日需先用MID函数截取第7-14位共8位数字,再用DATE函数将MID(A2,7,4)、MID(A2,11,2)、MID(A2,13,2)分别作为年月日参数转换为标准日期。

Excel中用公式提取身份证里的生日,核心是“截取+转换”两步:先从18位身份证号中取出年月日部分,再转成标准日期格式。
一、确认身份证号位置和长度
中国大陆身份证共18位,出生日期占第7到第14位(共8位),例如:11010119900307251X,其中19900307就是出生日期(1990年3月7日)。
注意:确保身份证号是文本格式(左对齐),避免被Excel自动转成科学计数或截断。如果显示为1.10101E+17,说明已变数字,需重新输入并加英文单引号(')或设置单元格为“文本”格式。
二、用MID函数截取8位生日字符串
假设身份证号在A2单元格,用以下公式提取“19900307”这样的8位文本:
=MID(A2,7,8)
- MID(原文本,起始位置,字符数) —— 从第7位开始,取8个字符
- 结果是文本型“19900307”,还不是日期,不能直接参与日期计算
三、用DATE函数转成真实日期
把截出的8位字符串拆成年、月、日,再用DATE组合:
=DATE(LEFT(MID(A2,7,8),4),MID(MID(A2,7,8),5,2),RIGHT(MID(A2,7,8),2))
更简洁写法(推荐):
=DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2))
- MID(A2,7,4) → 取年份(第7~10位)
- MID(A2,11,2) → 取月份(第11~12位)
- MID(A2,13,2) → 取日期(第13~14位)
- DATE(年,月,日) 自动返回标准日期序列值,显示为“1990/3/7”或你设置的日期格式
四、补充技巧:显示为“yyyy年mm月dd日”格式
如果想让结果看起来更正式,不用改单元格格式,直接用TEXT函数包装:
=TEXT(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),"yyyy年mm月dd日")
这样显示为:1990年03月07日(注意:此时已是文本,不可用于年龄计算等日期运算)
如需后续算年龄,务必保留原始DATE公式结果,并设置单元格为“短日期”或“长日期”格式即可。
基本上就这些。关键不是记公式,而是理解身份证结构和MID定位逻辑——7-10位年、11-12位月、13-14位日,再交给DATE组装,不复杂但容易忽略格式前提。










