查看單個文章
舊 2006-06-14, 01:25 AM   #32 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

Excel中利用身份證號碼提取個人訊息

辦公室的小秦向我求教,說最近需要上報一份材料,這份材料是用Excel做的匯總表,其中必須輸入每位員工的姓名、性別、身份證號碼、出生年月、籍貫、畢業學校、職稱等相關訊息,她的要求是有無簡單的辦法對身份證號碼、性別、出生年月的資料進行核對。下面我們就來看一下具體的核對方法。

  一、分析身份證號碼

  其實,身份證號碼與一個人的性別、出生年月、籍貫等訊息是緊密相連的,無論是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單元格顯示為「男」,否則顯示為「女」。

  Enter鍵確認後,即可在B2單元格顯示正確的性別訊息,接下來就是選中填充柄直接拖曳。如圖2所示,現在這份報表無論是提取訊息或是核對,都方便多了!
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1625 篇, 收花: 3196 次