2024年2月9日发(作者:)
Excel中如何将15位身份证号转换为18位
假设A列自A2起是身份证号(15位或18位)。
1、身份证号全部改为18位,输入数组公式:
=IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10X98765432",MOD(SUM(MID(REPLACE(A2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),A2)
注意:数组公式输入方法:输入公式后不要按回车,而是按Ctrl+Shift+Enter。
2、身份证号全部改为15位,输入公式:
=IF(LEN(A2)=15,A2,LEFT(REPLACE(A2,7,2,),15))
3、计算出生日期:
=IF(A2<>"",TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00")+0,)
4、判断性别:
=IF(A2<>"",IF(MOD(RIGHT(LEFT(A2,17)),2),"男","女"),)
最终结果如图:
自己做的:
1、根据身份证号码求出生年月:
=IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2),MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2))
或:
=IF(LEN(A1)=15,CONCATENATE("19",MID(A1,7,2),".",MID(A1,9,2)),IF(LEN(A1)=18,CONCATENATE(MID(A1,7,4),".",MID(A1,11,2)),"身份证错"))
2、根据身份证号码求性别:
=IF(LEN(B2)=15,IF(MOD((MID(B2,15,1)),2)=1,"男"),IF(LEN(B2)=18,IF(MOD((MID(B2,17,1)),2)=1,"男","女"),"身份证错"))
3、根据身份证号码求年龄:
=IF(LEN(B2)=15,year(now())-1900-(MID(B2,7,2)),if(LEN(B2)=18, year(now())-(MID(B2,7,4)),"身份证错"))
","女
发布评论