方式:在先儲存格輸入「=IF(LEN(資料)=18,MID('10X98765432',MOD(SUMPRODUCT(VALUE(MID(資料,ROW(資料區),1)),資料區域),11) 1,1),'長度錯誤')」;然後進行比較即可。
本教學操作環境:windows7系統、Microsoft Office Excel2013版、Dell G3電腦。
先看一下原理,二代身分證共18位,那麼最後一位是由前面的18位通算術來計算出來的,如果某一位出錯,那麼校驗結果就會不一致,引此來判斷這個身分證號是不是正確合法
再看一下演算法,先將身分證前面的17位數分別乘以不同的係數,如圖所示
##把這個17位元數字和係數相乘後所得的結果相加,得到一個總和數,再除以11得到餘數,那麼餘數與校驗碼(身分證是的最後一位)相對應的關係如圖所示,即如果餘數為3,校驗碼為9。 驗證原理理清後,看一下在excel上怎樣操作,新建一個表格,簡單做一個表格,便於觀看 為了更好理解,先算18位,=IF(LEN($C2)=18,MID('10X98765432',MOD(SUMPRODUCT(VALUE(MID($C2,ROW($1:$17), 1)),$B$2:$B$18),11) 1,1),'長度錯誤')
##再驗證這個第18位與身分證的第18位是不一致合法有效=IF(LEN($C2)=18,IF(MID('10X98765432',MOD(SUMPRODUCT(VALUE(MID($C2,ROW($1:$17),1)),$B $2:$B$18),11) 1,1)=RIGHT($C2,1),'合法','不合法'),'長度錯誤')
相關學習推薦:
excel教學以上是excel如何自動校正身分證對錯的詳細內容。更多資訊請關注PHP中文網其他相關文章!