作者:光 轉自:EXCEL之家ExcelHome
函數語法是:
DATEDIF(開始日期,結束日期,返回的間隔類型)
比如說,要計算工齡有幾個月,公式是這樣的:
=DATEDIF("2012-12-1","2019-4-1","m")
就是計算12年12月日至2019年4月1日有多少個完整的月份。
要計算年齡有多少歲,公式是這樣的:
=DATEDIF("1988-6-1","2019-4-1","y")
就是計算1988年6月1日出生的員工到2019年4月1日有多少個整年數。
DATEDIF雖然功能強大,而且簡單易用,但是有時候也會有點小脾氣,今天就和大家分享一下這個函數在使用中遇到的問題:
我們要計算員工入職到離職期間一共工作了多少個月,但是紅線框出的兩條計算結果,明顯和預期不一緻了。
我們的副班小污同志辛辛苦苦工作了一個月,但卻啥都不算,不帶這麼玩的,這是嚴重的拖欠農民工的工資啊。
咱們仔細觀察,會發現隻有當DATEDIF的結束日期是當月的最後一天,而開始日期的天數比結束日期的天數大的時候,計算結果會少一個月。
既然找到了問題,解決就方便了,把原來的公式修訂一下:
=DATEDIF(C2,D2,"m") AND(DAY(C2)>DAY(D2),D2=EOMONTH(D2,0))
我們來看一下這個公式,其實就是多了一個簡單的判斷,用AND函數鍊接兩個條件:
DAY(C2)>DAY(D2),是判斷開始日期的天數是否大于結束日期的天數
D2=EOMONTH(D2,0),是判斷結束日期是否當月的最後一天
當開始日期的天數大于結束日期的天數,并且結束日期是否當月的最後一天時,就在DATEDIF公式結果上加1個月,否則就保持DATEDIF的結果。
好了,我們的問題解決了,當然可以把這個公式運用到實際工作中,但是我要說的是關鍵不是隻學會公式,而是要學會碰到問題怎麼去尋找錯誤原因,再分析解決的方法,有了思路,寫公式就是水到渠成的了。
作者:光
ExcelHome學院助教
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!