可使用excel函数从身份证号提取年龄或出生日期:一、用mid+date+datedif计算周岁;二、用mid+date+text生成标准日期文本;三、用if+len兼容15位和18位身份证;四、用trim+substitute预处理异常字符。

如果您在Excel中拥有身份证号码,需要从中提取年龄或计算出生日期,则可以通过函数公式实现。以下是几种常用且有效的操作方法:
一、使用MID函数提取出生年份并计算年龄
中国18位身份证号码的第7至第10位表示出生年份,第11至第12位为月份,第13至第14位为日期。通过MID函数定位并截取这些位数,再结合TODAY和DATEDIF函数可动态计算当前年龄。
1、在目标单元格输入公式:=DATEDIF(DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),TODAY(),"y")
2、按Enter确认,该单元格将显示对应身份证号码持有人的周岁年龄。
3、将公式向下填充至其他身份证数据行,即可批量计算。
二、用TEXT与MID组合生成标准出生日期
若需将身份证号转换为“yyyy-mm-dd”格式的出生日期(而非仅计算年龄),可利用TEXT函数统一格式化输出,便于后续排序、筛选或参与其他日期运算。
1、在目标单元格输入公式:=TEXT(DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),"yyyy-mm-dd")
2、按Enter确认,结果将显示如“1995-08-12”样式的标准日期文本。
3、注意:此结果为文本型日期,如需参与日期计算,请改用纯DATE函数不套TEXT,即=DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),并设置单元格格式为“短日期”。
三、兼容15位身份证号的通用公式写法
部分历史数据可能仍含15位身份证号码,其出生年份为第7至第8位(需补“19”前缀),月日位置与18位一致。使用IF与LEN判断位数,可构建兼容两类格式的公式。
1、在目标单元格输入公式:=DATEDIF(DATE(IF(LEN(A1)=18,MID(A1,7,4),CONCATENATE("19",MID(A1,7,2))),MID(A1,IF(LEN(A1)=18,11,9),2),MID(A1,IF(LEN(A1)=18,13,11),2)),TODAY(),"y")
2、按Enter确认,公式自动识别A1中身份证长度,并分别处理15位或18位情形。
3、该公式对混合数据源(含15位与18位)可直接批量应用,无需手动区分。
四、用SUBSTITUTE预处理带空格或不可见字符的身份证号
当原始身份证列存在首尾空格、换行符或全角字符时,MID函数可能截取错位。先用SUBSTITUTE与TRIM清除干扰,是确保公式准确的前提步骤。
1、新建辅助列,在B1输入:=TRIM(SUBSTITUTE(SUBSTITUTE(A1,CHAR(160)," "),CHAR(10),""))
2、按Enter确认后,B1将返回清理后的纯净身份证号。
3、后续所有年龄或生日公式均以B1为引用源,例如:=DATEDIF(DATE(MID(B1,7,4),MID(B1,11,2),MID(B1,13,2)),TODAY(),"y")











