如何在Excel2007中通過身份證號分別取出生日?
【解答】
如: 在工作表的A1單元格中輸入身份證號碼:360102198506161234,并要求分別求出出生年、出生月和出生日。
寫一個通用公式,往右填充,公式:
=TEXT(RIGHT(TEXT(MID($A1,7,11)-500,"1900-00-00,"),10),MID("eemmdd",2*COLUMN(A1)-1,2))
如果月日不足兩位,只顯示一位數(shù)時,公式改為:
=TEXT(RIGHT(TEXT(MID($A1,7,11)-500,"1900-00-00,"),10),MID("emd",COLUMN(A1),1))
如下圖所示:
在Excel中自動推測出生年月日及性別的技巧
大家都知道,身份證號碼已經包含了每個人的出生年月日及性別等方面的信息(對于老式的15位身份證而言,7-12位即個人的出生年月日,而最后一位奇數(shù)或偶數(shù)則分別表示男性或女性。如某人的身份證號碼為420400700101001,它的7-12位為700101,這就表示該人是1970年元月1日出生的,身份證的最后一位為奇數(shù)1,這就表示該人為男性;對于新式的18位身份證而言,7-14位代表個人的出身年月日,而倒數(shù)第二位的奇數(shù)或偶數(shù)則分別表示男性或女性)。根據(jù)身份證號碼的這些排列規(guī)律,結合Excel的有關函數(shù),我們就能實現(xiàn)利用身份證號碼自動輸入出生年月日及性別等信息的目的,減輕日常輸入的工作量。
Excel中提供了一個名為MID的函數(shù),其作用就是返回文本串中從指定位置開始特定數(shù)目的字符,該數(shù)目由用戶指定(另有一個名為MIDB的函數(shù),其作用與MID完全一樣,不過MID僅適用于單字節(jié)文字,而MIDB函數(shù)則可用于漢字等雙字節(jié)字符),利用該功能我們就能從身份證號碼中分別取出個人的出生年份、月份及日期,然后再加以適當?shù)暮喜⑻幚砑纯傻贸鰝€人的出生年月日信息。
提示:MID函數(shù)的格式為MID(text,start_num,num_chars)或MIDB(text,start_num,num_bytes),其中Text是包含要提取字符的文本串;Start_num是文本中要提取的第一個字符的位置(文本中第一個字符的start_num為1,第二個為2……以此類推);至于Num_chars則是指定希望MID從文本中返回字符的個數(shù)。
假定某單位人員管理希望通過身份證號碼自動得出員工的出生年月日及性別,現(xiàn)以此為例,將有關步驟向廣大用戶作一簡要介紹:
1. 選中整個B列,然后執(zhí)行“格式”菜單中的“單元格”命令,打開“單元格格式”窗口。
2. 選擇“數(shù)字”選項卡。
3. 在“分類”欄中選擇“文本”選項,然后單擊“確定”按鈕,關閉“單元格格式”窗口,將所有包含有身份證號碼的單元格設置為文本格式。
4.將光標移至C3單元格中,然后輸入“="19"&MID(B3,7,2)&"年"&MID(B3,9,2)&"月"&MID(B3,11,2)&"日"”內容。其中MID(B3,7,2)就是從身份證號碼的第7位開始取2位數(shù),得出該員工的出生年份,MID(B3,9,2)就是得出該員工的出生月份,而MID(B3,11,2)則是該員工的出生日期,這些信息再加上年、月、日等文字就會組成該員工的準確出生年月日“1970年1月1日”。
5. 接下來我們應將光標移至D3單元格中,然后輸入“=IF(MID(B3,15,1)/2=TRUNC(MID(B3,15,1)/2),"女","男")”。這就表示取身份證號碼的第15位數(shù),若能被2整除,這表明該員工為女性,否則為男性。
6. 最后我們只需利用自動填充功能對其他各個員工的出生年月日、性別進行填充即可。
上面都是以15位身份證為例進行介紹的,18位身份證的操作方法與此類似,廣大用戶若使用的是18位身份證,只需對有關函數(shù)的取值位置進行適當調整即可(如將“="19"&MID(B3,7,2)&"年"&MID(B3,9,2)&"月"&MID(B3,11,2)&"日"”修改為“=MID(B3,7,4)&"年"&MID(B3,11,2)&"月"&MID(B3,13,2)&"日"”)。
這樣就實現(xiàn)了由Excel自動填充員工出生年月日、性別的功能,從而極大地減輕了用戶錄入數(shù)據(jù)時的工作量,有興趣的讀者不妨一試。