可使用datedif或year函数结合mid提取身份证出生日期计算年龄:前者用=datedif(date(mid(a1,7,4),mid(a1,11,2),mid(a1,13,2)),today(),"y")得整岁;后者用year差值并按生日修正。

如果您在Excel中需要根据身份证号码自动计算年龄,则可以通过公式提取出生日期并结合当前日期进行计算。以下是实现此功能的多种方法:
一、使用DATEDIF函数计算精确年龄
DATEDIF函数可返回两个日期之间的完整年数,适用于按年、月、日分段计算年龄,结果准确且不四舍五入。
1、确保身份证号码为18位文本格式,若为数值型需先设置单元格格式为“文本”或在输入前加单引号。
2、在目标单元格输入以下公式:=DATEDIF(DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),TODAY(),"y"),其中A1为存放身份证号码的单元格。
3、按Enter确认,公式将从身份证第7至14位截取出生年月日,并与今日日期比较得出整岁年龄。
二、使用YEAR函数配合DATE计算周岁
该方法通过构造出生日期后,用当前年份减去出生年份,再根据是否已过生日修正结果,逻辑清晰易理解。
1、在目标单元格输入以下公式:=YEAR(TODAY())-YEAR(DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)))-((MONTH(TODAY())
2、公式中先用MID提取年、月、日,再用DATE组合成标准日期,最后比对当前日期是否已过生日,未过则减1岁。
3、按下Enter键完成计算,结果为截至今日的实足周岁。
三、使用TEXT与DATEDIF组合处理15位身份证
部分旧身份证为15位,需补全年份(19xx)后再解析;该方法兼容15位与18位身份证,增强通用性。
1、在目标单元格输入以下公式:=DATEDIF(DATE(IF(LEN(A1)=15,19&LEFT(A1,2),MID(A1,7,4)),IF(LEN(A1)=15,MID(A1,9,2),MID(A1,11,2)),IF(LEN(A1)=15,MID(A1,11,2),MID(A1,13,2))),TODAY(),"y")
2、公式中LEN(A1)=15判断长度,对15位身份证在年份前补“19”,月日位置相应前移,确保正确提取。
3、回车后即可获得兼容两种格式的年龄结果。
四、借助辅助列分步提取再计算
当公式嵌套过深导致不易排查错误时,可将出生年、月、日分别提取至相邻列,再统一计算,便于验证与维护。
1、在B1单元格输入:=IF(LEN(A1)=18,MID(A1,7,4),IF(LEN(A1)=15,19&LEFT(A1,2),"")),提取出生年份。
2、在C1单元格输入:=IF(LEN(A1)=18,MID(A1,11,2),IF(LEN(A1)=15,MID(A1,9,2),"")),提取出生月份。
3、在D1单元格输入:=IF(LEN(A1)=18,MID(A1,13,2),IF(LEN(A1)=15,MID(A1,11,2),"")),提取出生日期。
4、在E1单元格输入:=DATEDIF(DATE(B1,C1,D1),TODAY(),"y"),完成年龄计算。










