用Excel自製身份證驗證器,所有身份證信息都囊括全了(建議收藏)

最終效果演示

了解身份證結構

公民身份號碼是特徵組合碼,由十七位數字本體碼和一位數字校驗碼組成。排列順序從左至右依次為:六位數字地址碼,八位數字出生日期碼,三位數字順序碼和一位數字校驗碼。

1.號碼的結構

公民身份號碼是特徵組合碼,由十七位數字本體碼和一位校驗碼組成。排列順序從左至右依次為:六位數字地址碼,八位數字出生日期碼,三位數字順序碼和一位數字校驗碼。

2.地址碼

表示編碼對象常住戶口所在縣(市、旗、區)的行政區劃代碼,按GB/T2260的規定執行。

3.出生日期碼

表示編碼對象出生的年、月、日,按GB/T7408的規定執行,年、月、日代碼之間不用分隔符。

4.順序碼

表示在同一地址碼所標識的區域範圍內,對同年、同月、同日出生的人編定的順序號,順序碼的奇數分配給男性,偶數分配給女性。

5.校驗碼

根據前面十七位數字碼,按照ISO 7064:1983.MOD 11-2校驗碼計算出來的檢驗碼。作為尾號的校驗碼,是由號碼編製單位按統一的公式計算出來的,如果某人的尾號是0-9,都不會出現X,但如果尾號是10,那麼就得用X來代替,因為如果用10做尾號,那麼此人的身份證就變成了19位,而19位的號碼違反了國家標準,並且中國的計算機應用系統也不承認19位的身份證號碼。Ⅹ是羅馬數字的10,用X來代替10,可以保證公民的身份證符合國家標準。

這18位數字或字母所代表的含義如下:

(1)前1、2位數字表示:所在省份的代碼;(2)第3、4位數字表示:所在城市的代碼;(3)第5、6位數字表示:所在區縣的代碼;(4)第7~14位數字表示:出生年、月、日(7.8.9.10位是年,11.12位是月,13.14位是日);(5)第15、16位數字表示:所在地的派出所的代碼;(6)第17位數字表示性別:奇數表示男性,偶數表示女性;(7)第18位數字是校檢碼:校檢碼可以是0~9的數字,有時也用x表示。

如圖所示:

18位數字代表的含義

校驗碼的計算方法

首先按要求做好表格,填寫相應的內容,如下圖所示:

1、將前面的身份證號碼17位數分別乘以不同的係數。從第一位到第十七位的係數分別為:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。

完成後如下圖所示:

2、將這17位數字和係數相乘的結果相加,公式這裡就不具體講解了。

3、用加出來和除以11,看餘數是多少(餘數為4)?

4、餘數只可能有0-1-2-3-4-5-6-7-8-9-10這11個數字。其分別對應的最後一位身份證的號碼為1-0-X -9-8-7-6-5-4-3-2。(即餘數0對應1,餘數1對應0,餘數2對應X...)。在核對表格一欄將他們的對應關係填好。

5、通過上面得知如果餘數是3,就會在身份證的第18位數字上出現的是9。如果對應的數字是2,身份證的最後一位號碼就是羅馬數字。根據餘數值在對應的校驗碼欄寫上相應的對應數字,這裡我們用公式計算。

判斷身份證是否正確

判斷的原理就是取出身份證的最後一位,看是否與算出來的校驗碼相等,這裡我們也利用公式進行判斷,如下圖所示:

正確顯示TRUE,錯誤顯示FALSE,這裡為了方便查看,我們加上條件格式,當顯示TRUE時單元格底色為綠色,當顯示FALSE時單元格底色為紅色

根據身份證號提取出基本的身份信息(性別、年齡、生肖等等)

這裡直接告訴大家函數即可,不深入講解,如有需要私信交流,這裡涉及到區域代碼表大家可以自行百度下載,也可私信索取。


性 別:

=IFERROR(IF(MOD(MID(B3,17,1),2),"男","女"),"")

年 齡:

=IFERROR(DATEDIF(--TEXT((LEN(B3)=15)*19&MID(B3,7,6 (LEN(B3)=18)*2),"0-00-00"),TODAY(),"y")&"周歲零"&DATEDIF(--TEXT((LEN(B3)=15)*19&MID(B3,7,6 (LEN(B3)=18)*2),"0-00-00"),TODAY(),"ym")&"月"&DATEDIF(--TEXT((LEN(B3)=15)*19&MID(B3,7,6 (LEN(B3)=18)*2),"0-00-00"),TODAY(),"md")&"天","")

出生日期:

=IFERROR(TEXT(MID(B3,7,8),"0年00月00日"),"")

生 肖:

=IFERROR(IF(LEN(B3)=15,MID("鼠牛虎兔龍蛇馬羊猴雞狗豬",MOD("19"&MID(B3,7,2)-4,12) 1,1),

MID("鼠牛虎兔龍蛇馬羊猴雞狗豬",MOD(MID(B3,7,4)-4,12) 1,1)),"")

星 座:

=IFERROR(VLOOKUP(VALUE("1900-"&TEXT(MID(B3,LEN(B3)/2 2,4),"#-##")),{1,"摩羯座";20,"水瓶座";50,"雙魚座";81,"白羊座";111,"金牛座";142,"雙子座";174,"巨蟹座";205,"獅子座";236,"處女座";267,"天秤座";298,"天蠍座";328,"射手座";357,"摩羯座"},2,TRUE),"")

所在地區:

=IFERROR(VLOOKUP(LEFT(B3,6),區域代碼!A:B,2,1),"")

如果大家不想動手自己做的話,可以私信我索要附件。


推薦閱讀:

應用法學學科有了「身份證」
【特稿】吳英成:落地生根的胡姬花:新加坡華裔語言形態與身份認同解讀
身份證「尾數」是幾最好命!要財有財,要權有權,大富!
10月起,身份證新領、換領、補領均需採集指紋
身份證尾號是幾的人,2016年數錢數到手抽筋

TAG:收藏 | 建議 | 身份證 | 信息 | 身份 | Excel | 驗證 |