Excel自動從身份證中提取生日性別
生成性別:(其中B2是身份證號碼所在列)
一 性別
雙擊性別所在列的第二行,然后輸入下面公式,然后按ENTER鍵;再利用下拉方式將公式復(fù)制到該列的其他行中即可
1=CHOOSE(MOD(IF(LEN(B2)=18,MID(B2,17,1),IF(LEN(B2)=15,RIGHT(B2,1),"")),2)+1,"女","男")
2=IF(MOD(IF(LEN(B2)=15,MID(B2,15,1),MID(B2,17,1)),2)=1,"男","女")
3=IF(LEN(B2)=15,IF(MOD(MID(B2,15,1),2)=1,"男","女"),IF(MOD(MID(B2,17,1),2)=1,"男","女"))
二 出生日期:(其中B2是身份證號碼所在列)
雙擊出生日期所在列的第二行,然后輸入下面公式,然后按ENTER鍵;再利用下拉方式將公式復(fù)制到該列的其他行中即可
=DATE(MID(B2,7,4),MID(B2,11,2),MID(B2,13,2))
三 計算年齡:(其中C3是出生日期所在列)
雙擊年齡所在列的第二行,然后輸入下面公式,然后按ENTER鍵;再利用下拉方式將公式復(fù)制到該列的其他行中即可
=YEAR(NOW())-YEAR(C3)
(出處:天空軟件作者:佚名日期:2009-09-16)
每年新入學(xué)的一年級學(xué)生,都需要向上級教育部門上報一份包含身份證號、出生年月等內(nèi)容的電子表格,以備建立全省統(tǒng)一的電子學(xué)籍檔案。數(shù)百個新生,就得輸入數(shù)百行相應(yīng)數(shù)據(jù),這可不是個輕松活兒。有沒有什么辦法能減輕一下輸入工作量、提高一下效率呢?其實,我們只需在Excel2003中將學(xué)生的身份證號完整地輸入后,它就可以幫我們自動填好出生日期和性別。
現(xiàn)在學(xué)生的身份證號已經(jīng)全部都是18位的新一代身份證了,里面的數(shù)字都是有規(guī)律的。前6位數(shù)字是戶籍所在地的代碼,7-14位就是出生日期。第17位“2”代表的是性別,偶數(shù)為女性,奇數(shù)為男性。我們要做的就是把其中的部分?jǐn)?shù)字想法“提取出來”。
STEp1,轉(zhuǎn)換身份證號碼格式
我們先將學(xué)生的身份證號完整地輸入到Excel2003表格中,這時默認(rèn)為“數(shù)字”格式(單元格內(nèi)顯示的是科學(xué)記數(shù)法的格式),需要更改一下數(shù)字格式。選中該列中的所有身份證號后,右擊鼠標(biāo),選擇“設(shè)置單元格格式”。在彈出對話框中“數(shù)字”標(biāo)簽內(nèi)的“分類”設(shè)為“文本”,然后點擊確定。
STEP2,“提取出”出生日期
將光標(biāo)指針放到“出生日期”列的單元格內(nèi),這里以C2單元格為例。然后輸入“=MID(B2,7,4)&"年"&MID(B2,11,2)&"月"&MID(B2,13,2)&"日"”(注意:外側(cè)的雙引號不用輸入,函數(shù)式中的引號和逗號等符號應(yīng)在英文狀態(tài)下輸入)。回車后,你會發(fā)現(xiàn)在C2單元格內(nèi)已經(jīng)出現(xiàn)了該學(xué)生的出生日期。然后,選中該單元格后拖動填充柄,其它單元格內(nèi)就會出現(xiàn)相應(yīng)的出生日期。如圖1 。
圖1 通過上述方法,系統(tǒng)自動獲取了出生年月日信息
小提示:MID函數(shù)是EXCEL提供的一個“從字符串中提取部分字符”的函數(shù)命令,具體使用格式在EXCEL中輸入MID后會出現(xiàn)提示。
STEP3,判斷性別“男女”
選中“性別”列的單元格,如D2。輸入“=IF(MID(B2,17,1)/2=TRUNC(MID(B2,17,1)/2),"女","男")”(注意如上)后回車,該生“是男還是女”已經(jīng)乖乖地判斷出來了。拖動填充柄讓其他學(xué)生的性別也自動輸入。如圖2。
圖2 性別被自動填入指定位置
這樣,通過兩個簡單的函數(shù),我們就可以讓EXCEL從身份證號中自動提取出生日期和性別并填充到單元格內(nèi),極大地減輕了我們的輸入工作量。最后效果如圖3。
圖3 用EXECL可以自動識別并填入學(xué)生信息
根據(jù)身份證號碼讓Excel自動輸入出生日期和性別
方法一:
15位身份證號:410881790605552 輸出出生日期1979/06/05 =CONCATENATE("19",MID(E2,7,2),"/",MID(E2,9,2),"/",MID(E2,11,2))
公式解釋:
a.MID(E2,7,2)為在身份證號碼中獲取表示年份的數(shù)字的字符串
b. MID(E2,9,2) 為在身份證號碼中獲取表示月份的數(shù)字的字符串
c. MID(E2,11,2) 為在身份證號碼中獲取表示日期的數(shù)字的字符串
d.CONCATENATE("19",MID(E2,7,2),"/",MID(E2,9,2),"/",MID(E2,11,2))目的就是將多個字符串合并在一起顯示。
18位身份證號:410881197906055521 輸出出生日期1979/06/05 =CONCATENATE(MID(E2,7,4),"/",MID(E2,11,2),"/",MID(E2,13,2))
方法二:
15位身份證號:410881790605552 出生日期790605 =IF(LEN(E3)=15,MID(E3,7,6),MID(E3,9,6))
18位身份證號:410881197906055521 出生日期790605 =IF(LEN(E3)=15,MID(E3,7,6),MID(E3,9,6))
公式解釋:
LEN(E2)=15:檢查E2單元格中字符串的字符數(shù)目,本例的含義是檢查身份證號碼的長度是否是15位。
MID(E2,7,6):從E2單元格中字符串的第7位開始提取6位數(shù)字,本例中表示提取15位身份證號碼的第7、8、9、10、11、12位數(shù)字。
MID(E2,9,6):從C2單元格中字符串的第9位開始提取6位數(shù)字,本例中表示提取18位身份證號碼的第9、10、11、12、13、14位數(shù)字。
=IF(LEN(E2)=15,MID(E2,7,6),MID(E2,9,6)):IF是一個邏輯判斷函數(shù),表示如果額E2單元格是15位,則提取第7位開始的6位數(shù)字,如果不是15位則提取自第9位開始的6位數(shù)字。
根據(jù)身份證號碼自動生成性別:
方法一:
在C列輸入身份證號,在B列填寫性別,可以在B2單元格中輸入公式“=IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女")”,其中:
LEN(C2)=15:檢查身份證號碼的長度是否是15位。
MID(C2,15,1):如果身份證號碼的長度是15位,那么提取第15位的數(shù)字。
MID(C2,17,1):如果身份證號碼的長度不是15位,即18位身份證號碼,那么應(yīng)該提取第17位的數(shù)字。
MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2):用于得到給出數(shù)字除以指定數(shù)字后的余數(shù),本例表示對提出來的數(shù)值除以2以后所得到的余數(shù)。
IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女"):如果除以2以后的余數(shù)是1,那么B2單元格顯示為“男”,否則顯示為“女”。
15位身份證,看最后一位,奇男偶女;18位的,看第17位數(shù),也是奇男偶女。
方法二:
如果你是想在Excel表格中,從輸入的身份證號碼內(nèi)讓系統(tǒng)自動提取性別,可以輸入以下公式:
=IF(LEN(C2)=15,IF(MOD(MID(C2,15,1),2)=1,"男","女"),IF(MOD(MID(C2,17,1),2)=1,"男","女"))
公式內(nèi)的“C2”代表的是輸入身份證號碼的單元格。