小伙伴們好啊,今天老祝為大家準(zhǔn)備了一組和身份證有關(guān)的函數(shù)公式,看看如何從身份證號(hào)碼中提取出需要的信息。如下圖為所示,是一份模擬的員工信息表,A列是姓名,B列是身份證號(hào)碼,C列是職級(jí)。 =--TEXT(MID(B2,7,8),'0-00-00')身份證號(hào)碼中的第8位到15位是出生年月信息。首先使用MID函數(shù)從A2單元格的第7位開(kāi)始,提取出8個(gè)字符,得到字符 '19820102'。 再使用TEXT函數(shù)將這個(gè)字符串變成日期樣式的文本,得到字符串“1982-01-02”。由于TEXT函數(shù)的結(jié)果是文本型的內(nèi)容,所以加上兩個(gè)小減號(hào) -- ,也就是計(jì)算負(fù)數(shù)的負(fù)數(shù),通過(guò)四則運(yùn)算,變成真正的日期序列。這樣做的目的是為了便于后續(xù)的統(tǒng)計(jì)匯總。如果公式結(jié)果顯示為5位數(shù)字,別忘了設(shè)置一下單元格格式為日期。計(jì)算年齡時(shí),可以借助剛剛已經(jīng)提取出的出生年月,E2單元格輸入以下公式,向下復(fù)制。=DATEDIF(D2,'2020-10-1','y')DATEDIF函數(shù)用于計(jì)算兩個(gè)日期之間的間隔。用法是:=DATEDIF(起始日期,截止日期,指定間隔類型)本例中起始日期是D2的出生年月,截止日期是2020年1月1日。指定間隔類型為“Y”,表示計(jì)算間隔整年份。如果是“M”,就表示計(jì)算間隔的整月份了。DATEDIF函數(shù)是隱藏函數(shù),輸入時(shí)沒(méi)有屏幕提示,需要手工錄入哦。=DATEDIF(TEXT(MID(B2,7,8),'0-00-00'),'2020-10-1','y')=IF(MOD(MID(B2,17,1),2),'男','女')身份證號(hào)碼中的第17位是性別信息,單數(shù)表示男,雙數(shù)表示女。首先使用MID函數(shù),從B2單元格的第17位開(kāi)始,提取出1個(gè)字符。再使用MOD函數(shù)計(jì)算這個(gè)字符與2相除的余數(shù)。最后使用IF函數(shù)判斷,如果余數(shù)不等于0,返回男,如果余數(shù)是0,則返回女。 接下來(lái),咱們要根據(jù)提取出的出生年月和性別以及職級(jí)信息,來(lái)計(jì)算退休年月,根據(jù)現(xiàn)有法規(guī),男性退休年齡為60歲,女性干部退休年齡為55歲,女性年退休為50歲。=EDATE(D2,IF(F2='男',720,IF(F2&C2='女干部',660,600)))EDATE函數(shù)的作用是根據(jù)指定的起始日期和間隔月份,計(jì)算從指定日期開(kāi)始,間隔N個(gè)月后的日期。IF(F2='男',720,IF(F2&C2='女干部',660,600))這部分看起來(lái)有點(diǎn)小復(fù)雜,咱們慢慢拆解一下: 先用IF函數(shù)判斷F2單元格的性別是不是等于'男',如果是,返回720(720個(gè)月,也就是60歲)。如果不等于'男',就繼續(xù)判斷F2的性別連接C2的職級(jí),是不是等于'女干部',如果是,返回660(660個(gè)月,也就是55歲),如果不等于'女干部',就返回600(600個(gè)月,即50歲)。
|