在根據身份證號碼判斷性別的應用中,大多數人習慣用嵌套的IF函數來判斷身份證號碼是18位還是15位,然後再分別提取第17位或第15位,該數字為奇數時,判斷為“男”,為偶數時,判斷為“女”。
如:
=IF(LEN(A2)=18,IF(MOD(MID(A2,17,1),2),"男","女"),IF(LEN(A2)=15,IF(MOD(RIGHT(A2,1),2),"男","女")))
這樣做雖然能得出正確的結果,但由於兩次分別對18位和15位身份證進行判斷和運算,導致公式過長,效率降低。其實,我們可以通過在IF函數中加入簡單的計算來避免重復判斷,請看下面的公式:
=IF(MOD(MID(A2,(LEN(A2)=18)*2+15,1),2),"男","女")
在這個公式中,如果A2單元格為18位數字,則公式中的“LEN(A2)=18”的值為1,再乘以2,其值為2,加上後面的15,等於17,而如果A2為15位,則“LEN(A2)=18”的值為0,乘以2再加15後的值為15,通過這個辦法,利用MID函數智能地取到18位號碼的第17位或15位號碼的第15位,然後作為MOD的參數,正確判斷出該身份證持有人的性別。同樣的方法還可以用來智能計算18位和15位身份證的出生日期等其他信息,具體方法請大家開支腦筋,舉一反三。