網站首頁 健康小知識 母嬰教育 起名 運動知識 職場理財 情感生活 綠色生活 遊戲數碼 美容 特色美食 愛好

Excel公式由身份證號碼計算性別年齡出生日期

欄目: 互聯網 / 發佈於: / 人氣:2.04W

居民身份證,是用於證明持有人身份的一種法定證件,多由各國或地區政府發行予公民。並作為每個人重要的身份證明文件。在它的編碼中會透露出兩個重要的信息,一個是身份證的7--14位,如19741015,表示是1974年10月15日出生;第二個是性別,第17位是1,奇數,表示男性;第17位是2,偶數,表示女性。

一、對於性別的計算

(01)首先介紹Microsoft Excel中的一個字符串函數mid函數的用法,它是專門截取字母串中的部分字符的函數。函數語法格式=mid(text,start_num,num_chars)mid(字符串,開始截取位置,截取字符個數)那麼從身份證號(A2)的第17位開始截取1個字符,及身份證的第17位,如下圖所示在B2的位置輸入“=mid(A2,17,1)”,剩下的下拉句柄即可。如第一個身份證截取的17號位置為1。

Excel公式由身份證號碼計算性別年齡出生日期

(02)第二個函數是求餘函數——mod函數,判斷17號位的數字是奇數還是偶數的,按規則:奇數表示男性,偶數表示女性。函數語法格式=mod(number,divisor)mid(字符串,開始截取位置,截取字符個數)身份證第17位除以2的餘數,即=mod(mid(A2,17,1),2)

Excel公式由身份證號碼計算性別年齡出生日期 第2張

(03)第三步就是利用if函數判斷給定的對錯了,滿足返回前一個,不滿足返回後一個即=IF(MOD(MID(A2,17,1),2)=1,"男","女"),這個也就是最終的答案使用時用這個即可。函數字母的大小寫都可以。

Excel公式由身份證號碼計算性別年齡出生日期 第3張
Excel公式由身份證號碼計算性別年齡出生日期 第4張

二、計算出生年月日

(01)出生年月日其實比較直觀,數字的提取採用上面的mid函數。從身份證第7位提取4個字符作為年份,在第11位提取2字符作為月份,在第13位提取2字符作為日期。然後使用Date函數,將提取的數字變為日期格式進行顯示。DATE函數的基本構型是DATE(year,month,day)

(02)在出生日期(E2單元格)輸入下列公式,然後下拉句柄即可。=DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2))

Excel公式由身份證號碼計算性別年齡出生日期 第5張

(03)DATE其實只是在年月日間插入了""字符,而如果需要更多樣式,則可以自行設計。這裏介紹一個“&”符號的作用(稱作AND) ,起着字符串的連接作用。例如,="搜狗" & "百科",結果是"搜狗百科"。這裏也給大家準備了多種示例,供大家參考,見下圖。例如,=MID(A58,7,4)&"年"&MID(A58,11,2)&"月"&MID(A58,13,2)&"日"的結果是1976年05月12日,它就是利用&"年"&,成功地將所需字符插入到年月日中間。

Excel公式由身份證號碼計算性別年齡出生日期 第6張

(04)還可以使用一個文本函數——TEXT函數來完成這項工作,Excel中的TEXT函數是將一數值轉換為按指定格式表示的文本的函數,也就是把數字轉換成文本格式。其語法格式為:TEXT(value,format_text),Value可以是數值、計算結果為數值的公式,或對數值單元格的引用。而Format_text是所要選用的文本格式。而輸出成日期格式的Format_text,"0-00-00",這個format是從後往前計算的,最後的兩個字符佔據最後的00,然後中間的兩個字符佔據中間的兩個00,剩下的字符佔據第一個0,這裏的第一個0可以寫成0000、000、00、0,但不能多,否則日期前會加一個0。

Excel公式由身份證號碼計算性別年齡出生日期 第7張

(05)具體的函數格式如下,含義為從第七號位截取8個字符,按照"0-00-00"格式排列:=TEXT(MID(A67,7,8),"0-00-00")如果你問我怎麼知道這個格式的,右鍵單元格,懸着“單元格格式”對話框中選擇“數字”選項卡,在“分類”列表框中選擇“特殊”,然後在右側的“類型”框中選擇“中文小寫數字”最後再返回到左側“分類”列表框中單擊“自定義”, 就能看到format_text的具體格式樣式了。

Excel公式由身份證號碼計算性別年齡出生日期 第8張

三、計算年齡

(01)利用DATEDIF函數計算兩日期之差。函數語法為:DATEDIF(start_date,end_date,unit)分為三種,計算年齡選用第一種。=DATEDIF(A1,TODAY(),"Y")計算年數差=DATEDIF(A1,TODAY(),"M")計算月數差=DATEDIF(A1,TODAY(),"D")計算天數差

(02)我們已經知道出生年月的DATE了=DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2))再將它與today比較一下年數差即可,輸入下列公式,然後下拉句柄。=DATEDIF(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),TODAY(),"y")也可以使用TEXT函數。=DATEDIF(TEXT(MID(A73,7,8),"0-00-00"),TODAY(),"y")

Excel公式由身份證號碼計算性別年齡出生日期 第9張