關於Datedif函式的2個經典用法,案例解讀,你一定不掌握!
在年齡、工齡等時長的計算中,大家一貫的做法都是當前年份或者離職年份減去出生年份或者上班年份,這樣計算也並無大錯,但準確度不高,如果要計算出準確的年齡、工齡等時長,就要用到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()替代,只能是“離職日期”。