
Excel如何把身份證升為18位,提取出生年月,性別,年齡
以下假設身份證號碼放在A1單元格中。
1.從身份證號碼中提取出生年月日:
假如身份證號數據在A1單元格,在B1單元格中公式=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))這樣輸出格式就都是19821010這種格式了。
可以通過下述操作,完成形如1978-12-24樣式的出生年月日自動提取:假如身份證號數據在C2單元格=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))。
2.從身份證號碼中提取性別:
=IF(MOD(MId(A1,15,3),2),"男","女")
3.從身份證號碼中提取年齡:
=DATEDIF(TEXT(MId(A1,7,LEN(A1)*2/3-4),"0-00-00"),TODAY(),"Y")
4.將15位身份證升位為18位:
=IF(LEN(A1)=15,(REPLACE(A1,7,,19))&(INDEX({1,0,"X",9,8,7,6,5,4,3,2},1,(MOD(SUM(MId(REPLACE(A1,7,,19),1,1)*7+MId(REPLACE(A1,7,,19),2,1)*9+MId(REPLACE(A1,7,,19),3,1)*10+MId(REPLACE(A1,7,,19),4,1)*5+MId(REPLACE(A1,7,,19),5,1)*8+MId(REPLACE(A1,7,,19),6,1)*4+MId(REPLACE(A1,7,,19),7,1)*2+MId(REPLACE(A1,7,,19),8,1)*1+MId(REPLACE(A1,7,,19),9,1)*6+MId(REPLACE(A1,7,,19),10,1)*3+MId(REPLACE(A1,7,,19),11,1)*7+MId(REPLACE(A1,7,,19),12,1)*9+MId(REPLACE(A1,7,,19),13,1)*10+MId(REPLACE(A1,7,,19),14,1)*5+MId(REPLACE(A1,7,,19),15,1)*8+MId(REPLACE(A1,7,,19),16,1)*4+MId(REPLACE(A1,7,,19),17,1)*2),11))+1)),A1)

