公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
也就是从第七位数字开始,连续8位数字都是出生日期
=mid(身份证号码,7,8)
这样出来的数字就是出生年月日了
如果你还要进行修饰的话(比如显示XXXX年XX月XX日),可以再通过&符号来进行文本连接实现,具体你可以HI我
希望能帮到你
假设身份证号码在A1中(15位18位通用)
B1提取出生年月公式:
=TEXT(IF(LEN(A1)=15,"19"&MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2),MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2)),"yyyy-mm-dd")
C1提取性别:
=IF(MOD(--LEFT(RIGHT(A1,2)),2),"男","女")
D1计算年龄:
=YEAR(TODAY())-YEAR(B1)
另外有一个判断身份证真假的公式,因为18位的身份证号码加了识别码,所以根据识别码来判断身份证是否伪造:
=IF(RIGHT(A1)<>MID("10X98765432",MOD(SUMPRODUCT(--MID(A1,ROW($1:$17),1)*{7;9;10;5;8;4;2;1;6;3;7;9;10;5;8;4;2}),11)+1,1),"伪造身份证","")
根据身份证号码(15位和18位通用)自动提取性别和出生年月的自编公式,供需要的网友参考:
说明:公式中的B2是身份证号
1、根据身份证号码求性别:
=IF(LEN(B2)=15,IF(MOD(VALUE(RIGHT(B2,3)),2)=0,"女","男"),IF(LEN(B2)=18,IF(MOD(VALUE(MID(B2,15,3)),2)=0,"女","男"),"身份证错"))
2、根据身份证号码求出生年月:
=IF(LEN(B2)=15,CONCATENATE("19",MID(B2,7,2),".",MID(B2,9,2)),IF(LEN(B2)=18,CONCATENATE(MID(B2,7,4),".",MID(B2,11,2)),"身份证错"))
3、根据身份证号码求年龄:
=IF(LEN(B2)=15,year(now())-1900-VALUE(MID(B2,7,2)),if(LEN(B2)=18,year(now())-VALUE(MID(B2,7,4)),"身份证错"))
假设身份证号码在单元格a1,下面是年龄、出生年月日、性别:
=datedif(text(mid(a1,7,if(len(a1)=18,8,6)),"0-00-00"),today(),"y")
=text(mid(a1,7,if(len(a1)=18,8,6)),"0-00-00")
=if(mod(mid(a1,if(len(a1)=18,17,15),1),2),"男","女")
=IF(COUNT(A1)=18,MID(A1,7,8),MID(A1,7,6))
C1=身份证号,如果是18位的,就从第7位取数,取8位(YYYY-MM-DD),否则就从第7位取,取6位(YY-MM-DD)