在年齡、工齡等時長的計算中,大家一貫的做法都是當前年份或者離職年份減去出生年份或者上班年份,這樣計算也并無大錯,但準确度不高,如果要計算出準确的年齡、工齡等時長,就要用到Excel系統的隐藏函數Datedif,為什麼是系統隐藏函數呢?是因為在函數列表或者幫助文檔中都沒有它的身影,但确實存在并可以使用。
一、Datedif函數功能、語法結構。
功能:按照指定的類型統計兩個時間的差值。
語法結構:=Datedif(開始日期,結束日期,統計方式)。
1、參數“開始日期”和“結束日期”就是兩個日期值,并且“開始日期”≤“結束日期”。例如計算年齡時,出生日期就是“開始日期”,而當前的日期就是“結束日期”。
2、統計方式“Y、M、D、MD、YM、YD”六種,其中,最常用的為“Y、M、D”三種,字母分别是“年、月、日”英文字母的首字母,也就是按“年、月、日”等方式統計時長。具體請參閱下表。
統計方式 |
解讀 |
Y |
按整年計數 |
M |
按整月計數 |
D |
按整日計數 |
MD |
忽略年份和月份、按日計數 |
YM |
忽略年份和日期,按月份計數 |
YD |
忽略年份,按日計數 |
注意事項:
Datedif函數隻能用于16以上版本及WPS中,低版本的Excel系統無法使用哦!
二、案例解讀
目的1:計算年齡。
方法:
在目标單元格中輸入公式:=DATEDIF(D3,TODAY(),"y")。
解讀:
1、公式中的第二個參數為Today(),目的就是為了獲取當前的日期,不管什麼時候使用表格數據,“終止日期”都是最新的,年齡也是最新的。可以達到“一次統計、終生使用”的目的。
2、如果數據源中沒有“出生年月”列,則公式為:=DATEDIF(TEXT(MID(C3,7,8),"00-00-00"),TODAY(),"y"),看起來有點兒複雜,其實TEXT(MID(C3,7,8),"00-00-00")的作用就是從身份證号碼中提取出生年月并将其設置為日期格式,具體案例可以查閱曆史消息中關于“身份證技巧”的相關文章。
3、除了按年(Y)統計之外,還可以按月(M)或按日(D)統計。隻是年齡的表述上我們習慣于用年份表示而已。
目的2:計算工齡。
方法:
在目标單元格中輸入公式:=DATEDIF(I3,J3,"y")。
解讀:
在計算工齡時,參數“結束日期”為什麼不用Today()替代,而用固定的日期了?其實這就涉及到一個常識性的問題了,人不去世,“年齡”是自動增加的,但“工齡”并不一定自動增加。所以,在計算工齡時,參數“結束日期”不能用Today()替代,隻能是“離職日期”。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!