身份證號泄露,Excel能提取出這麼多隱私信息,太恐怖!
2.我看到部分留言里說很受用,這個我是很感動、很開心,同時,獲得了更大的信心和更足的動力,能夠真正的幫助更多的人,傳遞Excel能量,這是我建立此頭條號的初衷,第一期的時候承諾每周一三五七更新,每周四篇,但是看到了大家的需求,我承諾後面每周至少更新四篇,將Excel能量傳遞給更多更多的人;
3.同樣有部分留言提出了疑義或者反對,這個也是我更希望看到的,第一期我就說了,Excel包羅萬象,其包容性是無法用語言來描述的,這麼偉大的一個軟體,不可能是我一家之言就能定義的,大家仁者見仁智者見智,通過不同的見解碰撞出更完美的火花。
再一次,感謝各位讀者,由衷的感謝!
好了,以上是我發表第一篇文章以後的收穫,所思所想跟大家做了一個彙報。
今天的主題是利用Excel提取身份證信息,是一個全面的總結,學完以後,我敢保證大家會對自己的身份證有一個全新的認識。
首先,先簡單介紹下身份證那一串數字的具體含義,這裡的身份證指的是1999年之後使用的18位身份證
如上圖所示,18位身份證,
a.前6位是地址碼,其中前1-2位是省代碼,3-4位是市代碼,5-6是縣/區代碼;
b.7-14位是生日碼,其中7-10位是出生年代,11-12位是出生月份,13-14位是出生日;
c.15-17位是順序碼,是當地派出所根據當地孩子出生順序頒發的順序碼,男孩分配奇數,女孩分配為偶數;
d.最後1位是由號碼編製單位按統一的公式計算出來的,如果某人的尾號是0-9,都不會出現X,但如果尾號是10,那麼就得用X來代替,具體的校驗邏輯,稍後會講到。
好了,現在對身份證是不是有了一個重新的認識,下面我們就用Excel提取身份證的信息。
一、身份證號在Excel的輸入
正常輸入18位身份證,會出現如下的問題,身份證變成了科學計數法:
可以通過以下兩個方法解決這個問題
1.輸入身份證數字前先輸入單引號 "
2.將單元格格式設置為文本,再輸入身份證號
二、提取出生日期
利用--text(mid(D3,7,8),"0-00-00")公式將生出年月提取了出來,首先mid( )函數是將出生年月的8位數字提取出來,然後利用text()函數轉化為正確的格式。
在這裡說明下,函數的具體含義這裡不做具體講解,後期會有專項講解,這裡只是把函數的自學方法分享下,函數的最好的學習是利用Excel幫助文檔,比如,我需要查text()函數的使用方法,首先在任意單元格輸入"=",輸入「te」之後按Tab鍵選中該函數,用滑鼠點擊該函數即可以跳轉到幫助文檔。
三、計算歲數(周歲)用公式=DATEDIF(E3,TODAY(),"y")將歲數計算了出來,DATEDIF函數是Excel隱藏函數,其在幫助和插入公式裡面沒有, 返回兩個日期間隔的年或月或日,常使用DATEDIF函數計算兩日期之差,具體使用方法大家可以自行百度。
四、計算性別利用公式IF(ISODD(MID(D3,17,1)),"男","女")計算性別,mid( )函數提取第17位數字,isodd( )函數判斷奇偶數,if( )根據條件判斷男女。
五、計算退休時間(假定男60退休,女50退休)利用EDATE(E3,MOD(MID(D3,17,1),2)*120+600)計算退休時間,其中的600代表600個月,即50年,120代表120個月,即10年,這裡的計算比較巧妙,大家好好理解一下。
五、校驗身份證的真偽
校驗身份證真偽需要使用身份證的最後一位校驗碼,校驗碼前面也說過了,由號碼編製單位按統一的公式計算出來的,計算步驟為,身份證每一位分別乘以一個固定值,然後求和,接著用這個和除以11,得到餘數,將餘數跟一個固定的對應表對應,即可以得到校驗碼。
每個數字應該乘以的固定值和餘數對應表,這些不在此列出了,大家百度即可。
好了,今天的分享就這麼多吧,大家看了肯定有點雲里霧裡,沒關係,慢慢研究,關於身份證的處理,本文介紹的很全面了,這些也是在前人基礎加上筆者整理思考總結出來的,我保證,大家如果把這邊文章都弄懂了,後面遇到任何的身份證的處理問題,都是小意思!
再次感謝大家的支持!
推薦閱讀:
※決定你無知的原因是什麼?
※島殤500年!中國史上鮮為人知的對外開放悲劇(圖) - 飛揚軍事 - 信息資訊 - [軍事...
※為什麼他能「吃皇糧」?原來是因為命局中有這個信息!
※我們玩一次「思考」眾包:我提供信息,大家交換思考
※刑沖合害的信息與應用