在电子表格中怎样用身份证号计算年龄?

如题所述

A1中输入省份证号码,因为某些老的身份证是15位的,所以要考虑到不同长度的身份证不同提取。
=DATEDIF(IF(AND(LEN(A1)<>15,LEN(A1)<>18),"错误",IF(ISERROR(1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"))),"错误",IF(OR((1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")))<VALUE("1905-01-01"),(1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")))>TODAY()),"错误",VALUE(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"))))),TODAY(),"y")
你试试这个公式可不可以。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-28
假设身份证号在A1,B1=datedif(date(mid(A1,7,4),mid(A1,11,2),mid(A1,13,2),today(),"y")
显示周岁
第2个回答  2011-12-29
=IF(LEN(A1)=18,DATEDIF(DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),TODAY(),"d")/365,DATEDIF(DATE(19&MID(A1,7,2),MID(A1,9,2),MID(A1,11,2)),TODAY(),"d")/365))
另选中A列,在数据有效性设置里,选择自定义:=or(len(A1)=18,Len(A1)=15)

输入:=IF(LEN(A1)=18,DATEDIF(DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),TODAY(),"d")/365,IF(LEN(A1)=15,DATEDIF(DATE(19&MID(A1,7,2),MID(A1,9,2),MID(A1,11,2)),TODAY(),"d")/365,"您输入的身份证号码有错误"))
第3个回答  2011-12-28
=2011-MID(A1,7,4)
假设源数据在a1的话
下拉本回答被提问者采纳