使用Excel就難免會遇到與日期有關的問題。在Excel的函式中,與日期相關的已有近20個函式。
今天,要和大家分享的就是日期函式中非常實用的三個——EDATE、EOMONTH和DATEDIF。不誇張的說,掌握了這三個函式就能解決一大部份常見的日期問題,是名副其實的日期函式三劍客。
三劍客之一:EDATE函式
EDATE(start_date, months),轉譯過來就是EDATE(開始日期,間隔月數)。
套用場景:計算到期日。這類問題通常指計算轉正日期、合約有效期、商品保質期等等,下面用兩個例子說明函式的用法。
1.已知入職日期、三個月轉正、轉正日期,就可以用公式=EDATE(B2,3)計算。
這個公式是最基本的用法,實際上,EDATE函式的第一參數可以使用其他的函式,第二參數可以使用負數,請看例二。
2.已知員工的司齡,如果要根據司齡和當前日期計算出該員工的入職月份,就可以用公式=EDATE(TODAY(),-B2)。
註意:如果司齡是以年為單位的,第二參數需要乘以12將年轉換為月。
如果你遇到的問題涉及到開始日期和間隔月數(年數)的時候,就可以考慮使用EDATE函式了。
三劍客之二:EOMONTH函式
EOMONTH (start_date, months)
僅從函式來看,這個函式的參數與EDATE完全一樣,這也是很多初學者容易混淆的地方。區別是EDATE函式可以得到指定日期之前或之後若幹個月所對應的日期,而EOMONTH得到的則是指定日期之前和之後若幹個月所對應的月份資訊(月初日期、月末日期、當月天數)。
套用場景:EOMONTH常用於考勤表、排班表等需要自動更新日期的表格樣版中。
下面用一個例子說明如何使用EOMONTH函式得到某個月的第一天、最後一天和當月天數。
問題:已知某個日期,怎麽分別得到該日期所在月的第一天,最後一天和當月天數?
月初日期公式為:=EOMONTH(A2,-1)+1
首先得到指定日期前一個月的月末日期,再加1則為當月月初的日期。
月末日期公式為:=EOMONTH(A2,0)
第二參數用0可以直接得到當月的月末日期。
當月天數公式為:=DAY(EOMONTH(A2,0))
利用DAY函式得到當月最後一天是幾號,也就是當月的天數。
三劍客之三:DATEDIF函式
這個函式非常特殊,你在Excel的函式列表裏是找不到的,甚至連微軟的幫助檔裏也沒有相關說明,因此這個函式也被稱為隱藏函式。
函式說明:DATEDIF(起始日期,截止日期,統計方式),第三參數共有六種方式,具體功能如下圖所示。
套用場景:主要用於計算兩個日期之間的天數、月數或年數。
下面透過兩個例子來說明函式的用法。
1.根據出生日期計算年齡
公式為:=DATEDIF(B2,TODAY(),"Y")
說明:寫這篇教程的日期是2021年4月16日,因此公式中的TODAY()也就是這個日期,在實際套用中是當天日期。
2.根據入職日期計算工齡(精確到天)
如果需要得到以x年x月x天的形式顯示工齡,就需要使用三個DATEDIF分別計算出年數、月數(忽略日和年)以及天數(忽略月和年),再用&進行連線得到所需結果,公式為:
=DATEDIF(D10,TODAY(),"y")&"年"&DATEDIF(D10,TODAY(),"ym")&"個月"&DATEDIF(D10,TODAY(),"md")&"天"
DATEDIF在計算兩個日期之間間隔的年數、月數和天數時固然很方便,但是在使用這個函式時需要註意,開始日期必須早於結束日期,否則公式會得到錯誤值。
好了,三劍客的用法介紹了這麽多,大家還是趕緊操練起來吧,必須要多練習才能將函式的用法融會貫通,自己也才能真的成為職場的函式劍客。
看完教程,還有疑問的夥伴,歡迎群裏交流喲~
寵 粉 福 利
2元領取:全套Excel技巧視訊+200套樣版
點"閱讀原文",學習更多的Excel視訊教程