如何用函數在身份證號碼中提取性別

老身份證號碼有15位數字,其中第15位( 最後一位數字代表性別);新的身份證號碼是18位數字(倒數第二位數字代表性別),都是奇數代表“男”;偶數代表“女”。如果B2單元格是身份證號碼,可以在對應單元格中輸入
=IF(MOD(MID(B2,(LEN(B2)=18)*2+15,1),2),"男","女")
即可將身份證中對應表示性別的數字翻譯成性別(注:該公式不僅實用於18位身份證號碼,也適用月15位身份證號碼)

如何用函數在身份證號碼中提取性別

操作方法

(01)LEN(B2)=18含義:LEN(test) 表示返回文本串(test)的字符數。 參數:Text 待要查找其長度的文本。如果B2是18位身份證號碼,則該式成立,返回的數字式1則(LEN(B2)=18)*2+15值是17,如果B2是15位身份證號碼,則該式不成立,返回的數字式0則(LEN(B2)=18)*2+15值是15

(02)MID(B2,,1)含義:這裏用了MID(text,start_num,num_chars)函數。text表示字符串;start_num表示text 中被提取的字符部分的開始位置。num_chars表示要返回的字符數。如果是18位身份證,從第17爲開始取一位數字,如果是15位身份證(即倒數第二位數字),則從第15爲開始取一位數字(即最後一位數字)。

(03)MOD(MID(B2,(LEN(B2)=18)*2+15,1),2)含義: mod(nExp1,nExp2)函數是一個求餘函數,即求nExp1除以nExp2的餘數。該式表示MID(B2(LEN(B2)=18)*2+15,1)(即身份證中表示性別的數字)除以2的餘數,如果是男性身份證號碼則餘數是1,女性身份證號碼餘數是0.

(04)IF(MOD(MID(B2,(LEN(B2)=18)*2+15,1),2),"男","女")含義:   IF(logical_test,value_if_true,value_if_false)這是個條件函數,如果Value_if_true logical_test 爲 真(非0)時返回value_if_true(即括號裏的第二位數字)。如果Value_if_true logical_test 爲 假(0)時返回value_if_false(即括號裏的第三位數字),MOD(MID(B2,(LEN(B2)=18)*2+15,1),2)餘數是1爲真,返回字符"男";MOD(MID(B2,(LEN(B2)=18)*2+15,1),2)餘數是0爲假,返回字符"女"。

(05)最後可以鼠標放在C2單元格,待鼠標變成實心十字架時向下拖動,能複製該公式。

如何用函數在身份證號碼中提取性別 第2張