在Excel中根据身份证号计算年龄的公式主要有以下两种常用方法,可根据需求选择合适的方式:
一、基础公式法
-
核心公式
=YEAR(TODAY())-MID(A1,7,4)
-
TODAY()
获取当前日期,动态更新; -
MID(A1,7,4)
提取身份证号第7到10位(即出生年份); -
YEAR()
函数将提取的年份转为整数,两者相减即得年龄。
-
-
适用场景
适用于18位身份证号,且系统日期为2025年1月1日的情况。
二、日期差计算法
-
DATEDIF函数公式
=DATEDIF(TEXT(MID(A1,7,14),"00-00-00"),TODAY(),"Y")
-
MID(A1,7,14)
提取身份证号第7到14位(完整出生日期); -
TEXT(...,"00-00-00")
将提取的数字转为日期格式; -
DATEDIF
函数计算两个日期之间的年份差,参数"Y"
表示按年计算。
-
-
注意事项
-
该公式同时考虑了闰年,无需手动调整;
-
对于15位身份证号(前6位地址码+9位出生日期),需先补全为18位(如前6位+1970-01-01)再计算。
-
三、其他补充说明
-
批量处理 :输入第一个年龄后,可通过拖拽填充柄批量生成其他行的年龄;
-
格式化输出 :若需显示“X岁Y个月”,可结合
TEXT
函数,例如:`=TEXT(DATEDIF(TEXT(MID(A1,7,14),"00-00-00"),TODAY(),"Y"),"0")&"岁"&TEXT(DATEDIF(A1,TODAY(),"YM"),"0个月";
-
错误处理 :建议添加
IFERROR
函数防止身份证格式错误导致计算失败,例如:=IFERROR(YEAR(TODAY())-MID(A1,7,4),"输入无效")
。
以上方法均以2025年为基准日期,若系统日期不同,需调整公式中的基准年份(如2025年改为DATE(2025,1,1)
)。