在excel中,从身份证中提取出生年月日、性别、年龄

我从网上找到这个公式,但不知道是什么意思,希望有哪位高手可以讲解一下。

这个公式适合15位数的身份证吗?如果不适合,有没有更好的公式。

年龄
=DATEDIF(DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),NOW(),"y")

性别:
=IF(MOD(VALUE(MID(A1,17,1)),2)=1,"男","女")

年月日
=IF(LEN(A1)=18,MID(A1,7,8),"19"&(MID(A1,7,6)))

第1个回答  2009-06-19
通用的
年龄
=DATEDIF(TEXT((LEN(A9)=15)*19&MID(A9,7,6+(LEN(A9)=18)*2),"#-00-00"),TODAY(),"y")

性别
=IF(AND(LEN(A9)<>{15,18}),"",IF(MOD(RIGHT(LEFT(A9,17)),2),"男","女"))

年月日
=IF(OR(LEN(A9)={15,18}),--TEXT((LEN(A9)=15)*19&MID(A9,7,6+(LEN(A9)=18)*2),"#-00-00"),"")