第一篇:利用身份證號自動提取出生日期和年齡性別
在excel表格中,根據身份證號碼就可以自動提取出生年月、性別、年齡。
第一,身份證號碼的組成。
當今的身份證號碼由18位數字組成:前6位為地址碼,第7至14位為出生日期碼,第15至17位為順序碼,第18位為校驗碼。
15~17位為順序號,其中第17位如果是單數為男性分配碼,雙數為女性分配碼。即通過第17位數字,可以判斷性別,奇數為男,偶數為女。
下面以實例的方式講解如何根據身份證號碼自動提取出生年月、性別、年齡。首先,在excel中輸入以下表格,實例如下面所示。
A
B
C
D
E
姓名
身份證號碼
出生日期
性別
年齡
張三
***786
1972年05月03日
女
第二,根據身份證號碼自動提取出生年月
在目標單元格輸入公式:
=MID(B2,7,4)&“年”&MID(B2,11,2)&“月”&MID(B2,13,2)&“日”,回車確定,單元格內會出現與身份證號碼相關的出生日期。其它單元格的填充,不必一一輸入公式,只需選中該單元格復制,在其它單元格內粘貼即可。
提示:MID函數是提供的一個“從字符串中提取部分字符”的函數命令。
第三,根據身份證號碼自動提取性別的方法
在目標單元格輸入公式:
=IF(MOD(RIGHT(LEFT(B2,17)),2),“男”,“女”)
提示:IF函數:根據邏輯表達式測試的結果,返回相應的值。IF函數允許嵌套。
RIGHT函數:根據所指定的字符數返回文本串中最后一個或多個字符。
第四,根據身份證號碼自動提取年齡的方法
在目標單元格輸入公式:=DATEDIF(TEXT(MID(B2,7,6+2*(LEN(B2)=18)),“#-00-00”),NOW(),“y”),回車確定。
第二篇:excel中由身份證號求出生日期、性別、年齡
在EXCEL2003中把數字轉換成日期
1。假定A2為文本數字,B2存放轉換后的日期。請在B2輸入公式:
=DATE(MID(A2,1,4),MID(A2,5,2),MID(A2,7,2))
=DATE(MID(H2,1,4),MID(H2,5,2),MID(H2,7,2))
2。把B2設置成你要的格式。右擊B2單元格-----選“設置單元格格式”----選“數字”下的“自定義”-----在“類型”框中輸入 “YYYY-MM-DD-”
(引號不要輸入)-----點“確定”。
格式為“**年**月”的:
設A列是身份證號,可在B1輸入:
=IF(LEN(A1)=15,MID(A1,7,2)&“年”&MID(A1,9,2)&“月”,MID(A1,9,2)&“年”&MID(A1,11,2)&“月”)
再將公式向下復制即可。
格式為“****年**月”的:
=IF(LEN(A1)=15,“19”&MID(A1,7,2)&“年”&MID(A1,9,2)&“月
”,“19”&MID(A1,9,2)&“年”&MID(A1,11,2)&“月”)
再將公式向下復制即可。
如果你再想限制身份證號輸入錯誤,可用這個公式:
=IF(OR(LEN(A1)=15,LEN(A1)=18),IF(LEN(A1)=15,MID(A1,7,2)&“年
”&MID(A1,9,2)&“月”,MID(A1,9,2)&“年”&MID(A1,11,2)&“月”),“證號錯誤”)這樣只要輸入的證號不是15位或18位就提示了。
判別性別。
這個公式是先對存放身份證的單元格A1進行判斷是15位號還是18的號,然后再對性別代碼進行奇偶性判斷。
=IF(LEN(A1)=15,IF(MOD(RIGHT(A1,1),2)=1,“男”,“女
”),IF(MOD(MID(A1,17,1),2)=1,“男”,“女”))
(1)根據身份證號碼求性別 :
=IF(VALUE(RIGHT(B2,3))/2=INT(VALUE(RIGHT(B2,3))/2),“女”,“男”)
(2)根據身份證號碼求出生日期:
=CONCATENATE(MID(B2,7,4),“年”,MID(B2,11,2),“月”,MID(B2,13,2),“日”)
(3)根據身份證號碼求出年齡:
=CONCATENATE(DATEDIF(D2,TODAY(),“y”),“周歲”)
或=DATEDIF(D3,TODAY(),“y”)
1、身份證號碼相關知識
在了解如何實現自動從身份證號碼中提取出生年月、性別信息之前,首先需要了解身份證號碼所代表的含義。我們知道,當今的身份證號碼有15/18位之分。早期簽發的身份證號碼是15位的,現在簽發的身份證由于年份的擴展(由兩位變為四位)和末尾加了效驗碼,就成了18位。這兩種身份證號碼將在相當長的一段時期內共存。兩種身份證號碼的含義如下:
(1)15位的身份證號碼:1~6位為地區代碼,7~8位為出生年份(2位),9~10位為出生月份,11~12位為出生日期,第13~15位為順序號,并能夠判斷性別,奇數為男,偶數為女。
(2)18位的身份證號碼:1~6位為地區代碼,7~10位為出生年份(4位),11~12位為出生月份,13~14位為出生日期,第15~17位為順序號,并能夠判斷性別,奇數為男,偶數為女。18位為效驗位。
2、應用函數
在此例中為了實現數據的自動提取,應用了如下幾個Excel函數。
(1)IF函數:根據邏輯表達式測試的結果,返回相應的值。IF函數允許嵌套。
語法形式為:IF(logical_test, value_if_true,value_if_false)
(2)CONCATENATE:將若干個文字項合并至一個文字項中。
語法形式為:CONCATENATE(text1,text2??)
(3)MID:從文本字符串中指定的起始位置起,返回指定長度的字符。語法形式為:MID(text,start_num,num_chars)
(4)TODAY:返回計算機系統內部的當前日期。
語法形式為:TODAY()
(5)DATEDIF:計算兩個日期之間的天數、月數或年數。
語法形式為:DATEDIF(start_date,end_date,unit)
(6)VALUE:將代表數字的文字串轉換成數字。
語法形式為:VALUE(text)
(7)RIGHT:根據所指定的字符數返回文本串中最后一個或多個字符。語法形式為:RIGHT(text,num_chars)
(8)INT:返回實數舍入后的整數值。語法形式為:INT(number)
4、公式寫法及解釋(以員工Andy為例說明)
說明:為避免公式中過多的嵌套,這里的身份證號碼限定為15位的。如果您看懂了公式的話,可以進行簡單的修改即可適用于18位的身份證號碼,甚至可適用于15、18兩者并存的情況。
(1)根據身份證號碼求性別
=IF(VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2),“女”,“男”)
公式解釋:a.RIGHT(E4,3)用于求出身份證號碼中代表性別的數字,實際求得的為代表數字的字符串
b.VALUE(RIGHT(E4,3)用于將上一步所得的代表數字的字符串轉換為數字 c.VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2用于判斷這個身份證號碼是奇數還是偶數,當然你也可以用Mod函數來做出判斷。
d.=IF(VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2),“女”,“男”)及如果上述公式判斷出這個號碼是偶數時,顯示“女”,否則,這個號碼是奇數的話,則返回“男”。
(2)根據身份證號碼求出生日期
=CONCATENATE(“19”,MID(E4,7,2),“/”,MID(E4,9,2),“/”,MID(E4,11,2))公式解釋:a.MID(E4,7,2)為在身份證號碼中獲取表示年份的數字的字符串 b.MID(E4,9,2)為在身份證號碼中獲取表示月份的數字的字符串
c.MID(E4,11,2)為在身份證號碼中獲取表示日期的數字的字符串
d.CONCATENATE(“19”,MID(E4,7,2),“/”,MID(E4,9,2),“/”,MID(E4,11,2))目的就是將多個字符串合并在一起顯示。
(3)根據參加工作時間求年資(即工齡)
=CONCATENATE(DATEDIF(F4,TODAY(),“y”),“年
”,DATEDIF(F4,TODAY(),“ym”),“個月”)
公式解釋:
a.TODAY()用于求出系統當前的時間
b.DATEDIF(F4,TODAY(),“y”)用于計算當前系統時間與參加工作時間相差的年份
c.DATEDIF(F4,TODAY(),“ym”)用于計算當前系統時間與參加工作時間相差的月份,忽略日期中的日和年。
d.=CONCATENATE(D
第三篇:Excel中利用身份證號碼提取出生日期和性別
Excel中利用身份證號碼(15或18位)提取出生日期和性別
如何使用Excel從身份證號碼中提取出生日期2009-02-27 22:52例如:從身份證***616中提取出生日期來,如何快速得出?
呵呵,只需使用語句:=DATE(mid(A1,7,4),mid(A1,11,2),mid(A1,13,2))【A1是身份證號碼所在單元格】
date()函數,地球人都知道,日期函數;如輸入今天的日期=today()
那么,mid函數是什么東東呢?
MID(text,start_num,num_chars)
Text 為包含要提取字符的文本字符串;Start_num 為文本
中要提取的第一個字符的位置。文本中第一個字符的start_num 為1,以此類推;Num_chars指定希望MID 從文本中返回字符的個數。
對身份證號碼分析下就知道:***616,出生日期是1992年2月6日;也就是 從字符串(***616)的第7位開始的4位數字表示年,從字符串的第11位開始的2位數字表示月,字符串的第13位開始的2位數字表示日。呵呵,強悍吧!Excel中利用身份證號碼(15或18位)提取出生日期和性別
需要的函數:
LEN(C6)=15:檢查C6單元格中字符串的字符數目,本例的含義是檢查身份證號碼的長度是否是15位;
INT:返回數值向下取整為最接近的整數,本例中用來判斷身份證里數值的奇偶數。RIGHT:返回文本字符串最后一個字符開始指定個數的字符;
MID:返回文本字符串指定起始位置起指定長度的字符,MID(C6,7,2)表示:在C3中從左邊第七位起提取2位數;
“19”&MID(C6,7,2)表示:在C3中從左邊第七位起提取2位數的前面添加19;
??
&“"&表示:其左右兩邊所提取出來的數字不用任何符號連接;
&”-“&表示:其左右兩邊所提取出來的數字間用“-”符號連接。若需要的日期格式是yyyy年mm月dd日,則可以把公式中的“-”分別用“年月日”進行替換就行了。
一、提取出生日期
如果我們要從一個人的身份證號碼中批量提取其出生年月日,并表示成“yyyy-mm-dd”形式,可以這樣做,假設身份證號碼在C列,在D列中輸入公式=IF(LEN(C6)=15,”19“&MID(C6,7,2)&”-“&MID(C6,9,2)&”-“&MID(C6,11,2),MID(C6,7,4)&”-“&MID(C6,11,2)&”-“&MID(C6,13,2)),這個公式的含義就是,當其檢查到C6單元格中的數據是15位的時,就顯示”19“&MID(C6,7,2)&”-“&MID(C6,9,2)&”-“&MID(C6,11,2)的計算結果,否則就顯示MID(C6,7,4)&”-“&MID(C6,11,2)&”-“&MID(C6,13,2)的計算結果。如:若C6單元格中是***,在D6單元格中計算出的結果是“1950-01-12”;若C6單元格中是***794,在D6單元格中計算出的結果是“1945-11-16”。
二、提取性別
在E6單元格輸入公式=IF(LEN(C6)=15,IF(RIGHT(C6)/2=INT(RIGHT(C6)/2),”女“,”男“),IF(MID(C6,17,1)/2=INT(MID(C6,17,1)/2),”女“,”男“))這個公式的含義是如果C6單元格是一個15位數,就顯示IF(RIGHT(C6)/2=INT(RIGHT(C6)/2),”女“,”男“)的計算結果;否則,顯示IF(MID(C6,17,1)/2=INT(MID(C6,17,1)/2),”女“,”男“))的計算結果。
最后把D6和E6單元格的公式向下拉下來,在C6列輸入身份證號碼后,出生日期和性別可自動輸入了,這樣就減少了用戶輸入數據工作量,提高了辦事效率!
根據身份證號碼讓Excel自動輸入出生日期和性別
辦公室人事文員有時要輸入很多員工的人事資料,每輸完臃長的身份證號后又要輸入員工出生年月日和性別,這樣無疑增加了工作量,有沒有辦法讓出生日期和性別自動輸入呢?其實用Excel公式即可輕松解決問題!
眾所周知,我國身份證號碼里有每個人的出生日期和性別等信息:老式的身份證號是15位數,第7位到12位是出生年月日,最后一位如果是偶數就代表女生,奇數就是代表男性;新式身份證號是18位數,第7位到14位是出生日期,倒數第二位的偶數或奇數代表女性或男性。既然存在這樣的規律,用Excel函數就可輕松實現根據身份證號自動輸入出生日期和性別。
本例中所需要函數:
LEN:返回文本字符串的個數,本例中用來計算身份證的位數
MID:返回文本字符串指定起始位置起指定長度的字符,本例中用來計算身份證號中出生日期的字符;
INT:返回數值向下取整為最接近的整數,本例中用來判斷身份證里數值的奇偶數.RIGHT:返回文本字符串最后一個字符開始指定個數的字符,本例中來計算身份證號最后一位數.如果A3單元格是身份證號碼,B3單元格為出生日期,C3單元格為性別,那么在B3中輸入公式=IF(LEN(A3)=18,MID(A3,7,4)&”年“&MID(A3,11,2)&”月“&MID(A3,13,2)&”日“,”19“&MID(A3,7,2)&”年“&MID(A3,9,2)&”月“&MID(A3,11,2)&”日“),這個公式的含義是,如果A3單元格是一個18位數IF(LEN(A3)=18)那么從第7位數開始得到的4位數就是年份MID(A3,7,4)后面再加上文字&”年”,月日依此類推,否則,A3單元格為15位數,就執行”19“&MID(A3,7,2)&”年“&MID(A3,9,2)&”月“&MID(A3,11,2)&”日“)含義與18位相似.只是在年MID(A3,7,2)前面要加上"19"
在C3單元格輸入公式=IF(LEN(A3)=18,IF(MID(A3,17,1)/2=INT(MID(A3,17,1)/2),”女“,”男“),IF(RIGHT(A3)/2=INT(RIGHT(A3)/2),”女“,”男“))這個公式的含義是如果A3單元格是一個18位數IF(LEN(A3)=18)就執行IF(MID(A3,17,1)/2=INT(MID(A3,17,1)/2),”女“,”男“),其中如果A3單元格第17位數(身份證號倒數第二位)除以二MID(A3,17,1)/2等于一個整數INT(MID(A3,17,1)/2),那么第17位為偶數,即是”女”,否則是奇數,即為”男”;否則A3單元格是15位數,就執行IF(RIGHT(A3)/2=INT(RIGHT(A3)/2),”女“,”男“),其中RIGHT(A3)含義是返回A3單元格從右往左的第一位數,即身份證最后一位數.其余含意跟上面18位數一樣.最后把B3和C3單元格的公式向下拉下來,在A3列輸入身份證號碼后,出生日期和性別可自動輸入了,這樣就減少了用戶輸入數據工作量,提高了辦事效率!
年齡查找:
A1輸入份證號.B1輸入下面公式.可以計算此人現在的年紀.=TEXT(DATEDIF(TEXT(IF(LEN(A1)=18,MID(A1,7,8),”19“&MID(A1,7,6)),”0000-00-00“),TODAY(),”Y“),”@")
第四篇:EXCEL中根據身份證號計算出生日期、年齡、性別、月份間隔
根據身份證號碼計算出生日期、年齡、性別。其中D4單元格中輸入身份證號碼 1.計算出生日期: 出生日期為(年月日)
=IF(LEN(D4)=15,“19”&MID(D4,7,2)&“年”&MID(D4,9,2)&“月”&MID(D4,11,2)&“日”,MID(D4,7,4)&“年”&MID(D4,11,2)&“月”&MID(D4,13,2)&“日”)出生日期為(Y-M-D)
=MID(D4,7,4)&“-”&MID(D4,11,2)&“-”&MID(D4,13,2)
2.計算年齡:
=YEAR(TODAY())-MID(D4,7,4)
3.計算性別:
=IF(MOD(IF(LEN(D4)=15,MID(D4,15,1),MID(D4,17,1)),2)=1,“男”,“女”)
4.根據兩個年月日算間隔多少月:
=(YEAR(B2)-YEAR(A2))*12+MONTH(B2)-MONTH(A2)
5.數值保留兩位小數:
=ROUND(A2,2)
第五篇:身份證號碼提取年齡,出生日期,等
身份證號碼提取年齡
=IF(LEN(A1)>15,YEAR(NOW())-MID(A1,7,4)+1,YEAR(NOW())-(MID(A1,7,2)+1900)+1)假設A1存放的號碼,B1輸出結果,那么在B1中輸入:
=IF(LEN(TRIM(A1))=18,YEAR(TODAY())-MID(A1,7,4),RIGHT(YEAR(TODAY()),2)+100-MID(A1,7,2))
公式考慮了身份證號碼是15位還是18位的問題
=YEAR(NOW())-MID(A1,7,4)1 用mid函數提取出生年份,然后用現在身份證號碼在A列(在A1單元格里)B1輸入 =MID(A1,7,8)回車后 公式
例如:
身份證號***000(填寫在A1)在B1除填寫公式:
=TEXT(TODAY(),“YYYY”)-(IF(LEN(A1)=18,“",19)&LEFT(REPLACE(A1,1,6,”“),2+(LEN(A1)=18)*2))回車后,B1將顯示:26
根據身份證號碼(15位和18位通用)自動提取性別和出生年月的自編公式,供需要的網友參考:
說明:公式中的B2是身份證號
1、根據身份證號碼求性別:
=IF(LEN(B2)=15,IF(MOD(VALUE(RIGHT(B2,3)),2)=0,”女“,”男“),IF(LEN(B2)=18,IF(MOD(VALUE(MID(B2,15,3)),2)=0,”女“,”男“),”身份證錯“))
2、根據身份證號碼求出生年月:
=IF(LEN(B2)=15,CONCATENATE(”19“,MID(B2,7,2),”.“,MID(B2,9,2)),IF(LEN(B2)=18,CONCATENATE(MID(B2,7,4),”.“,MID(B2,11,2)),”身份證錯“))
3、根據身份證號碼求年齡:
=IF(LEN(B2)=15,year(now())-1900-VALUE(MID(B2,7,2)),if(LEN(B2)=18,year(now())-VALUE(MID(B2,7,4)),”身份證錯“))
通過身份證號取得出身日期,年齡,是很多人力資源朋友遇到的問題;在這里個人的一些小經驗分享給大家; 工具/原料
? Excel 2000及以上版本
方法/步驟
1.1 新建Excel文檔;
2.2 根據需要,在新建的表頭的上分別輸入,員工姓名,身份證號,出生日期,年齡,入職日期,服務年限
3.3 將員工的姓名及身份證號從準備好的檔案中copy過來;
4.4 在第二行,第二列出生日期單元格中,輸入:
=IF(LEN(B2)<18;(DATE((”19“&MID(B2;7;2));MID(B2;9;2);MID(B2;11;2)));DATE(MID(B2;7;4);MID(B2;11;2);MID(B2;13;2)))
注:LEN(B2)<18,是判斷身份證號是15位還是18位的;
DATE(YYYY;MM;DD),是將取得的年、月、日轉換成時間格式;
MID(text;start_num;num_chars),功能是根據text的內容,截取字符串;start_num:截取第1個字符所在的位置;num_chars:截取的字符數量。例如:Mid(b2;7;2),表示從身份證的第7位開始,截取2個字符;
5.5 在第二行的,第三列單元格中,輸入: =DATEDIF(C2;TODAY();”y“)這個方法是計算到當前日期,員工的年齡;
6.6 在第二行的,第四列單元格中,輸入:員工到崗日期,單元格格式設為日期格式;即:YYYY-MM-DD
7.7 在第二行的,第五列單元格中,輸入: =DATEDIF(E2;TODAY();”y")即可計算到當前日期的,服務年限
8.8 選中C2,D2,復制單元格;
9.9 選中C列,D列剩余的單元格,選粘貼,即可自動計算每個員工的出生日期及年齡;