中國(guó)居民身份證號(hào)碼是一組特征組合碼,原為15位,現(xiàn)升級(jí)為18位,其編碼規(guī)則為: 15位:6位數(shù)字常住戶口所在縣市的行政區(qū)劃代碼,6位數(shù)字出生日期代碼,3位數(shù)字順序碼。 18位:6位數(shù)字常住戶口所在縣市的行政區(qū)劃代碼,8位數(shù)字出生日期代碼,3位數(shù)字順序碼和1位檢驗(yàn)碼。 其中3位數(shù)字順序碼,是為同一地址碼的同年同月同日出生人員編制的順序號(hào),偶數(shù)的為女性,奇數(shù)的為男性。 1、提取籍貫地區(qū)的行政區(qū)劃代碼:A2為身份證號(hào)為身份證號(hào)為身份證號(hào)為身份證號(hào),(下同) 15與18位通用:=LEFT(A2,6) 如果有一個(gè)編碼和省份地區(qū)的對(duì)照表,可以用VLOOKUP函數(shù)來提取地區(qū)信息。 2、提取出生日期信息提取出生日期信息提取出生日期信息提取出生日期信息 15位:=TEXT(19&MID(A2,7,6),"#-00-00") 18位:=TEXT(MID(A2,7,8),"#-00-00") 15與18位通用:=TEXT(IF(LEN(A2)=15,19,"")&MID(A2,7,6+IF(LEN(A2)=18,2,0)),"#-00-00") 簡(jiǎn)化公式:=TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00") (請(qǐng)將輸入公式的單元格格式設(shè)置為日期格式) 3、提取性別信息提取性別信息15位:=IF(MOD(RIGHT(A2),2)=1,"男","女") 18位:=IF(MOD(MID(A2),17,1)=1,"男","女") 15與18位通用:=IF(MOD(MID(A2,IF(LEN(A2)=15,15,17),1),2)=1,"男","女") 簡(jiǎn)化公式:=IF(MOD(RIGHT(LEFT(A2,17)),2),"男","女") 4、檢驗(yàn)身份證號(hào)碼的正確性 18位身份證號(hào)碼的最后一位是檢驗(yàn)碼,它是根據(jù)身份證前17位數(shù)字依照規(guī)則計(jì)算出來的,其值0~9或X。一般情況只要有一位數(shù)字輸入錯(cuò)誤,依照規(guī)則計(jì)算后就會(huì)與第18位數(shù)不符。當(dāng)然不排除按錯(cuò)誤號(hào)碼計(jì)算后恰好與檢驗(yàn)碼相符的情況,但這種情況出現(xiàn)的可能性較低。因此,對(duì)18位號(hào)碼的驗(yàn)證采用如下公式: =MID("10X98765432",MOD(SUMPRODUCT(MID(A2,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=RIGHT(A2,1) 對(duì)于15位身份證,由于沒有檢驗(yàn)碼,我們只能簡(jiǎn)單地去判斷出生日期代碼是否是一個(gè)有效的日期,避免輸入一些像“731302”或“980230“等這樣不存在的日期。 =ISNUMBER(--TEXT(19&MID(A2,7,6),"#-00-00")) 綜合15位和18位后的通用公式為: =IF(LEN(A2)=18,MID("10X98765432",MOD(SUMPRODUCT(MID(A2,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=RIGHT(A2),IF(LEN(A2)=15,ISNUMBER(--TEXT(19&MID(A2,7,6),"#-00-00")))) 由于目前15位身份證號(hào)碼已經(jīng)很少了,如果對(duì)15位的號(hào)碼不需要作進(jìn)一步的判斷,則公式可以簡(jiǎn)化成:=IF(LEN(A2)=18,MID("10X98765432",MOD(SUMPRODUCT(MID(A2,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=RIGHT(A2),LEN(A2)=15) 將上面的公式放到B2單元格,如果結(jié)果為TRUE,則身份證號(hào)是正確的,結(jié)果為FALSE則是錯(cuò)誤的。 你也可以將上述公式放在數(shù)據(jù)有效性中,防止錄入錯(cuò)誤的身份證號(hào)。操作方法:選擇需要輸入身份證的全部單元格區(qū)域,比如A2:A10,點(diǎn)菜單"數(shù)據(jù)"-"有效性",在"允許"的下拉框中選擇"自定義",在"公式"輸入上面的15位和18位通用公式,確定以后即可。注意:公式里的"A2"是你剛才選定要輸入身份證的單元格區(qū)域的第一個(gè)單元格,如果你是要在C3:C20輸入身份證號(hào),則將公式里的"A2"改為"C3"。另外,你也可以先設(shè)置好某單個(gè)單元格的數(shù)據(jù)有效性(這時(shí)公式的A2改為選定的單元格),再用格式刷將其格式刷到其他需要相同設(shè)置的單元格。 5、15位升位為18位=IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10X98765432",MOD(SUMPRODUCT(MID(REPLACE(A2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),A2) 6、18位轉(zhuǎn)換為15位=IF(LEN(A2)=18,LEFT(REPLACE(A2,7,2,),15),A2) |
|