二維碼 購(gòu)物車(chē)
部落窩在線教育歡迎您!

Excel檢驗(yàn)身份證號(hào)碼真假的函數(shù)公式

?

作者:老菜鳥(niǎo)來(lái)源:部落窩教育發(fā)布時(shí)間:2018-07-25 14:02:14點(diǎn)擊:28250

分享到:
0
收藏    收藏人氣:0人
版權(quán)說(shuō)明: 原創(chuàng)作品,禁止轉(zhuǎn)載。

小編有話說(shuō):小編還是第一次了解到身份證的編碼規(guī)則呢,原來(lái)并不復(fù)雜,根據(jù)這個(gè)編碼規(guī)則,我們自己也可以辨別身份證的真假,太牛逼了!不過(guò)說(shuō)真的,要是公司員工的身份證號(hào)碼寫(xiě)錯(cuò)了,而我們還沒(méi)發(fā)現(xiàn),真的會(huì)給公司帶來(lái)很大的麻煩,所以趕緊收藏這篇教程啦!


說(shuō)起假疫苗、毒奶粉這些駭人聽(tīng)聞的事情,真的是憤怒加無(wú)奈,對(duì)于這類(lèi)事情,作為普通人的我們,只能希望有關(guān)部門(mén)能夠加大管理檢查力度,杜絕再次發(fā)生這樣的惡性事件。同時(shí)對(duì)于自己的工作也要更加細(xì)心,在很多容易出現(xiàn)錯(cuò)誤的環(huán)節(jié)反復(fù)核查,避免產(chǎn)生一些不良的后果,比如員工檔案中的身份證號(hào)碼就是一個(gè)非常容易發(fā)生問(wèn)題的重災(zāi)區(qū)!

今天我們就來(lái)和大家分享一個(gè)核查身份證號(hào)碼是否有錯(cuò)誤的公式。

一般來(lái)說(shuō),身份證號(hào)碼會(huì)出現(xiàn)兩類(lèi)錯(cuò)誤,長(zhǎng)度錯(cuò)誤和內(nèi)容錯(cuò)誤。

出現(xiàn)錯(cuò)誤的原因大多數(shù)都輸入過(guò)程中發(fā)生的,對(duì)于長(zhǎng)度錯(cuò)誤來(lái)說(shuō),目前都是18位的號(hào)碼,如果長(zhǎng)度出現(xiàn)錯(cuò)誤,比較容易發(fā)現(xiàn),但是如果其中的某一個(gè)數(shù)字出現(xiàn)錯(cuò)誤,那就非常難以發(fā)現(xiàn),以后就有可能會(huì)造成一些嚴(yán)重的后果,因此,今天重點(diǎn)就是核查內(nèi)容的正確性。


一、身份證號(hào)組成原理

首先需要了解一點(diǎn)關(guān)于身份證號(hào)碼的編碼規(guī)則:

Excel檢驗(yàn)身份證號(hào)碼真假

18位身份證號(hào)碼組成:ddddddyyyymmddxxsp18位,其中:1-6位是地區(qū)編碼,7-14為出生日期,15-17這三位是性別代碼,最后一位是根據(jù)前面的17個(gè)數(shù)字得到的校驗(yàn)位。

校驗(yàn)位的計(jì)算規(guī)則比較復(fù)雜:

1)前十七位數(shù)字本體碼加權(quán)求和公式

S = Sum(Ai * Wi), i = 0, ... , 16 ,先對(duì)前17位數(shù)字的權(quán)求和

Ai:表示第i位置上的身份證號(hào)碼數(shù)字值

Wi:表示第i位置上的加權(quán)因子

Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2

2)計(jì)算模

Y = mod(S, 11)

3)通過(guò)模得到對(duì)應(yīng)的校驗(yàn)碼

Y: 0 1 2 3 4 5 6 7 8 9 10

校驗(yàn)碼: 1 0 X 9 8 7 6 5 4 3 2

要檢驗(yàn)一個(gè)身份證號(hào)碼是否有誤,原理就是按照這個(gè)規(guī)則計(jì)算出校驗(yàn)碼,再與最后一位數(shù)字去比較,如果不一致就是有問(wèn)題了。對(duì)于這個(gè)規(guī)則理解起來(lái)還是比較費(fèi)勁的,我們舉個(gè)例子來(lái)看看:

1、將前面的身份證號(hào)碼17位數(shù)分別乘以不同的系數(shù)。從第一位到第十七位的系數(shù)分別為:

7910584216379105842

2、將這17位數(shù)字和系數(shù)相乘的結(jié)果相加。

3、用加出來(lái)和除以11,看余數(shù)是多少?

4、余數(shù)只可能有01234567891011個(gè)數(shù)字。其分別對(duì)應(yīng)的最后一位身份證的號(hào)碼為10X 98765432

5、通過(guò)校驗(yàn)碼對(duì)比得知如果余數(shù)是3,就會(huì)在身份證的第18位數(shù)字上出現(xiàn)的是9。如果對(duì)應(yīng)的數(shù)字是10,身份證的最后一位號(hào)碼就是羅馬數(shù)字2。

例如:某男性的身份證號(hào)碼為【53010219200508011x】, 我們看看這個(gè)身份證是不是合法的身份證。

首先我們得出前17位的乘積和

【(5*7)+(3*9)+(0*10)+(1*5)+(0*8)+(2*4)+(1*2)+(9*1)+(2*6)+(0*3)+(0*7)+(5*9)+(0*10)+(8*5)+(0*8)+(1*4)+(1*2)

189,然后用189除以11得出的結(jié)果是189/11=17----2,也就是說(shuō)其余數(shù)是2。最后通過(guò)對(duì)應(yīng)規(guī)則就可以知道余數(shù)2對(duì)應(yīng)的檢驗(yàn)碼是X,所以,可以判定這是一個(gè)正確的身份證號(hào)碼。


二、Excel檢驗(yàn)身份證號(hào)碼真假

原理明白了,現(xiàn)在的問(wèn)題就是如何將這個(gè)計(jì)算過(guò)程用Excel的公式來(lái)表示出來(lái),在這里將公式分享給大家:

=IF(RIGHT(A2)=MID("10X98765432",MOD(SUM(MID(A2,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),"","")

注意這是個(gè)數(shù)組公式,輸入或者粘貼公式后,需要同時(shí)按住Ctrlshift鍵再回車(chē)。

Excel檢驗(yàn)身份證號(hào)碼真假教程

公式看上去非常復(fù)雜,使用的時(shí)候只需要把兩個(gè)A2修改為自己表格中身份證號(hào)對(duì)應(yīng)的位置即可。

簡(jiǎn)單來(lái)說(shuō)一下公式的思路吧,核心部分就是

MID("10X98765432",MOD(SUM(MID(A2,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)

這一串,作用是將前面的17位數(shù)字按照校驗(yàn)碼的規(guī)則計(jì)算出來(lái),再與RIGHT(A2)做比較,RIGHT(A2)的作用就是從A2中提取最右邊的一位出來(lái),根據(jù)比較結(jié)果用if函數(shù)來(lái)進(jìn)行判斷。

我們可以再用這個(gè)公式來(lái)檢驗(yàn)一下文章開(kāi)頭圖片中的身份證號(hào)碼是否正確:

Excel檢驗(yàn)身份證號(hào)碼真假相關(guān)教程

結(jié)果是假。

不妨用這個(gè)公式去檢驗(yàn)一下你的表格中是否有錯(cuò)誤的身份證號(hào)碼吧,對(duì)于判定為錯(cuò)誤的號(hào)碼及時(shí)進(jìn)行更正,將問(wèn)題扼殺在萌芽階段!


如果您因工作所需使用到Excel,不妨關(guān)注部落窩教育的《一周Excel直通車(chē)》視頻課或《Excel極速貫通班》直播課系統(tǒng)學(xué)習(xí)。

如果您想要隨時(shí)隨地學(xué)習(xí)excel,掃下方二維碼,可關(guān)注公眾號(hào),每日為您推送優(yōu)質(zhì)excel教程:

Excel教程微信公眾號(hào)

Excel教程 相關(guān)推薦:

        拿給別人看的圖表,你要這樣做