今天我們來解決知道身份證號怎麼計算年齡(周歲)的問題。
一、18位身份證號
我們先來介紹最常見的情況,身份證號全部是18位,如下圖。
步驟如下:
1.18位身份證號的編碼規則
18位身份證號從第7位開始的連續8位代表本人的出生日期,比如:
「513436198205079000」。
參考Excel身份證號碼的編碼規則。
2.用MID函數提取出生日期
公式寫為=MID(B2,7,8),
結果為「19820507」。
參考Excel提取單元格中的字符(函數LEFT、MID、RIGHT)。
3.用TEXT函數將文本日期轉換為日期格式
公式寫為:
=TEXT(MID(B2,7,8),"0-00-00"),
結果為「1982-05-07」。
參考Excel利用TEXT函數設置日期時間格式並將文本日期轉成真正的日期。
4.用DATEDIF函數計算年齡(周歲)
公式寫為:
=DATEDIF(TEXT(MID(B2,7,8),"0-00-00"),TODAY(),"y"),
結果為「37」,即此人現在的年齡是37周歲。
參考Excel計算兩個日期之間相差的天數、整月數、整年數—DATEDIF函數。
下拉填充公式,即可完成全部計算,如下圖。
二、15位身份證號
如果身份證號中既有二代18位、又有一代15位(如下圖),那該怎麼辦呢?
別急,在日常生活中,一代15位身份證號已經很難看到,我們就當練習,接著往下看。
步驟如下:
1.用LEN函數判斷位數
公式寫為=IF(LEN(B2)=15,,)。
參考Excel分離漢字與數字、字母、符號。
2.15位與18位身份證號的區別
如果是15位,則從第7位開始連續6位是出生日期,缺少「19」欄位,我們用連接符&補全。公式寫為:
=IF(LEN(B2)=15,"19"&MID(B2,7,6),MID(B2,7,8))。
3.之後的公式與前面步驟3、4相同
最終公式寫為:
=DATEDIF(TEXT(IF(LEN(B2)=15,"19"&MID(B2,7,6),MID(B2,7,8)),"0-00-00"),TODAY(),"y")。
下拉填充公式,即可完成全部計算,如下圖。