從身份證號(hào)中提出出生日期 我們可以使用Excel常用函數(shù)來提出身份證號(hào)碼中的出生日期,然而在輸入身份證號(hào)碼的時(shí)候出現(xiàn)一個(gè)問題,當(dāng)輸入身份證號(hào)碼為:360127198802148765時(shí),此時(shí)出現(xiàn)下面的情況:
后面百度才發(fā)現(xiàn)原因是——excel中超過15位的數(shù)字在一個(gè)單元格里都不能完全顯示,所以解決這個(gè)問題的辦法就是把身份證號(hào)以文本形式存儲(chǔ),有兩種方式實(shí)現(xiàn)以文本方式存儲(chǔ): 方法1: 先選擇單元格,再右鍵選擇"設(shè)置單元格格式" ,在彈出的窗體中選擇文本 再輸入身份證號(hào) 方法2: 在身份證號(hào)前輸入一個(gè)( ' )這個(gè)符號(hào),這個(gè)符號(hào)代表就是把身份證號(hào)作為文本方式存儲(chǔ) 我之前根本是不知道上面的問題的,所以拿出來分享出來。下面當(dāng)我們輸入了正確的身份證號(hào)之后,如何使用Excel公式獲得出生日期呢?
這里要用到下面公式: (1)TEXT函數(shù)(類似C#中的Tostring方法)
功能:根據(jù)指定的數(shù)據(jù)格式將相應(yīng)的數(shù)字轉(zhuǎn)化為文本形式 格式為:TEXT(value, format) 參數(shù)說明: value代表需要轉(zhuǎn)換的數(shù)值或引用的單元格;format表示為指定文字形式的數(shù)字格式 (2) MID函數(shù)(類似C#中的Substring)
功能:從一個(gè)文本字符串的指定位置開始,截取指定數(shù)目的字符 格式:MID(text,start,num_chars) 參數(shù)說明:text代表一個(gè)文本字符串或引用的單元格。start表示指定的開始位置,num_chars表示要截取的字符個(gè)數(shù)
函數(shù)名稱:DATEDIF
功能:計(jì)算返回兩個(gè)日期參數(shù)的差值?! ?br>格式:=DATEDIF(date1,date2,"y")、=DATEDIF(date1,date2,"m")、=DATEDIF(date1,date2,"d") 參數(shù)說明:date1代表前面一個(gè)日期,date2代表后面一個(gè)日期;y(m、d)要求返回兩個(gè)日期相差的年(月、天)數(shù)。
LEN函數(shù)
函數(shù)名稱:LEN
功能:統(tǒng)計(jì)文本字符串中字符數(shù)目?! ?br>格式:LEN(text) 參數(shù)說明:text表示要統(tǒng)計(jì)的文本字符串。
下面就使用這個(gè)兩個(gè)函數(shù)來提取出生日期:
從身份證中獲得出生日期的的函數(shù)公式為: =TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00") 其中Len(A1)=18*2 代表的意思是如何A1的長(zhǎng)度是18位的話,就 1*2,否則就是 0*2(Len(A1)=18相當(dāng)于一個(gè)邏輯判斷,當(dāng)A1單元格的值的字符個(gè)數(shù)等于18時(shí),則返回True,即為1,否則返回false,即為0),有了這個(gè)公式之后我們可以用拖動(dòng)的方式來計(jì)算單元格中所有身份證號(hào)的出生日期
下面再附上從身份證號(hào)碼中獲得年齡的公式: =DATEDIF(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"),TODAY(),"y")&"歲"
|