一、分析身份證號碼
其實,身份證號碼與一個人的性別、出生年月、籍貫等信息是緊密相連的,無論是15位還是18位的身份證號碼,其中都保存了相關的個人信息。
15位身份證號碼:第7、8位為出生年份(兩位數),第9、10位為出生月份,第11、12位代表出生日期,第15位代表性別,奇數為男,偶數為女。
18位身份證號碼:第7、8、9、10位為出生年份(四位數),第11、第12位為出生月份,第13、14位代表出生日期,第17位代表性別,奇數為男,偶數為女。
例如,某員工的身份證號碼(15位)是320521720807024,那么表示1972年8月7日出生,性別為女。如果能想辦法從這些身份證號碼中將上述個人信息提取出來,不僅快速簡便,而且不容易出錯,核對時也只需要對身份證號碼進行檢查,肯定可以大大提高工作效率。
二、提取個人信息
這里,我們需要使用IF、LEN、MOD、
MID、DATE等函數從身份證號碼中提取個人信息。如圖1所示,其中員工的身份證號碼信息已輸入完畢(C列),出生年月信息填寫在D列,性別信息填寫在B列。
1. 提取出生年月信息
由于上交報表時只需要填寫出生年月,不需要填寫出生日期,因此這里我們只需要關心身份證號碼的相應部位即可,即顯示為“7208”這樣的信息。在D2單元格中輸入公式“=IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4))”,其中:
LEN(C2)=15:檢查C2單元格中字符串的字符數目,本例的含義是檢查身份證號碼的長度是否是15位。
MID(C2,7,4):從C2單元格中字符串的第7位開始提取四位數字,本例中表示提取15位身份證號碼的第7、8、9、10位數字。
MID(C2,9,4):從C2單元格中字符串的第9位開始提取四位數字,本例中表示提取18位身份證號碼的第9、10、11、12位數字。
IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4)):IF是一個邏輯判斷函數,表示如果C2單元格是15位,則提取第7位開始的四位數字,如果不是15位則提取自第9位開始的四位數字。
如果需要顯示為“70年12月”這樣的格式,請使用DATE格式,并在“單元格格式→日期”中進行設置。
2. 提取性別信息
由于報表中各位員工的序號編排是按照上級核定的編制進行的,因此不可能按照男、女固定的順序進行編排,如果一個一個手工輸入的話,既麻煩又容易出錯。
例如性別信息統一在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位的數字。
MID(C2,17,1):如果身份證號碼的長度不是15位,即18位身份證號碼,那么應該提取第17位的數字。
MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2):用于得到給出數字除以指定數字后的余數,本例表示對提出來的數值除以2以后所得到的余數。
IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女"):如果除以2以后的余數是1,那么B2單元格顯示為“男”,否則顯示為“女”。
回車確認后,即可在B2單元格顯示正確的性別信息,接下來就是選中填充柄直接拖曳。如圖2所示,現在這份報表無論是提取信息或是核對,都方便多了!