大家好,今天跟大家分享的是一個身份證號的案例。
大家都知道身份證號是唯一的,而且身份證號可以提供多種信息,今天我們就根據身份證號,提取出出生年月,性別這兩項簡單的。
目前身份證號碼都是18位,這18位代表的含義為:前6位表示地區;第7位到第14位表示出生日期;第15位到第17位表示一個順序號;其中第17位,奇數為男性,偶數為女性;第18位為校驗碼。
然后大家來看案例(案例中的身份證號是我用公式隨機生成的,只考慮了中間出生的日期是正確的格式,前面的地址和校驗碼都沒有考慮=。=,反正就是給大家看個例子)
一、出生年月
首先我們來提取出出生年月。
身份證號碼第7位到第14位表示出生日期,所以就要提取出身份證號碼的這8位即可。
一個函數,mid。
MID(text, start_num, num_chars) mid(文本,從第幾個開始截取,截取幾個字符)
所以公式就是=mid(C2,7,8)
這時候我們來看一下結果
雖然已經是八位數的字符串,但是不是我們想要的時間格式,所以就需要用text來變成時間格式
TEXT(MID(C2,7,8),'0000-00-00')
這時候,日期就變成這樣的格式,但是此時本質還是文本。如果想變成真正的日期格式,那公式需要改為 (其實這一步驟公式也很多,我只是隨便選取了一個)
DATE(MID(C2,7,4),MID(C2,11,2),MID(C2,13,2))
這個公式屬于時間公式,今天就不做分享了。
如果用這個公式,會將結果變為真正的日期格式,可以通過設置單元格格式來改變樣式。可以通過動圖看一下這種格式的區別。
二、性別
身份證號的第17位號碼代表性別,奇數代表男,偶數代表女。
第一步先提取第17位數字
然后判斷奇偶性。判斷奇偶性在excel中非常多的方法,今天主要分享mod
mod(被除數,除數) 結果返回一個余數
比如:mod(2,1)=2÷1 =2余0 所以返回值是0
mod(3,2)=3÷2=1余1 所以返回值是1
這時候可以想到奇數與偶數的區別就是偶數可以被2整除,但是奇數不能
可以看一下現在的結果。
下面我們就需要把0的都顯示為女,1的顯示為男。
就用到了if函數。
if(條件,條件為真的時候顯示值,條件為假的時候顯示值)
if(E2=0,'女','男') 這樣就可以把0,1變為性別“女”和“男”
把所有的公式都嵌套在一起,得到最終公式
=if(mod(mid(b2,17,1),2)=0,'女','男')
如果您有任何關于excel的問題都可以留言或者私信我們,遇到系統開發,vba編程,建模、表格設計等問題,也可以點擊后方的廣告,找我們一對一定制哦!