很好用!根據我的實際工作需要,又少作修改的方法:
假如身份證號數據在A1單元格,在B1單元格中編輯公式
=IF(LEN(A1)=15,"19"&MID(A1,7,2)&MID(A1,9,2)&MID(A1,11,2),MID(A1,7,4)&MID(A1,11,2)&MID(A1,13,2))
這樣輸出格式就都是19821010這種格式了。
excel中如何根據身份證號,自動求出性別?
假定身份證號在A1單元格,則在B1單元格中編輯公式
=IF(AND(LEN(A1)=15,MOD(MID(A1,15,1)*1,2)=1),"男",
IF(AND(LEN(A1)=18,MOD(MID(A1,17,1)*1,2)=1),"男","女"))
在excel是根據身份證自動填充年齡?
假設A列從A1開始是身份證號,在B列中進行轉換,則在B1中輸入
=YEAR(TODAY())-IF(LEN(A1)=15,"19"&MID(A1,7,2),MID(A1,7,4)),然后再向下復制即可。
公式解析:
一、分析身份證號碼
其實,身份證號碼與一個人的性別、出生年月、籍貫等信息是緊密相連的,無論是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單元格顯示正確的性別信息,接下來就是選中填充柄直接拖曳。