使用Excel難免會遇到與日期有關的問題,今天分享一組實用公式,解決常見的日期類問題。 1. 計算指定日期所在月的第一天和最后一天 如圖所示,根據某個日期得到對應的月初日期和月末日期,要解決這個問題需要用到EOMONTH函數,EOMONTH函數有兩個參數,格式為:=EOMONTH(日期,月數),結果為該日期指定月數的最后一天。 例如公式=EOMONTH(A2,0),得到的就是指定日期當月的月末日期。 由此不難想到,月初日期就是上個月的月末日期之后的一天,因此公式就是: =EOMONTH(TODAY,-1)+1 通過這兩個例子需要理解到,EOMONTH函數的第二個參數是可以使用負數的,正數代表日期之后的月數,負數代表日期之前的月數,而零代表本月。 另外一點就是涉及到日期問題時,解決方法往往不是唯一的,例如要取得指定日期的月初日期,其實還有很多思路,這個就留給大家思考吧,有其他解法可以留言分享。 2. 計算指定日期所在月的總天數 解決這個問題同樣用到了EOMONTH函數,公式為:=DAY(EOMONTH(A2,0)) 首先得到當月的月末日期,再用DAY函數得到月末日期是幾號,也就是當月的天數了。 3. 計算指定日期所在月份的工作日天數(不含周末) 要計算工作日,就一定少不了NETWORKDAYS函數,關于這個函數的用法,之前的教程也專門介紹過,這里簡單說一下。 NETWORKDAYS(開始日期,結束日期),用于計算一段時間內排除了周六和周日的天數,也就是工作日的天數。 在本例中,開始日期和結束日期是用了例1中的公式得到的,因此最終公式為: =NETWORKDAYS(EOMONTH(A2,-1)+1,EOMONTH(A2,0)) 4. 計算指定日期到該月月底剩余的工作日數天數(不含周末) 有了上一個例子的解決思路,計算指定日期到月底的工作日天數就很容易了,只需要將開始日期改為指定日期后一天即可,公式為: =NETWORKDAYS(A2+1,EOMONTH(A2,0)) 5. 計算指定日期到月底剩余的天數 這個問題就很簡單了,只需要使用月底日期減去指定日期就是剩余天數,公式為: =EOMONTH(A2,0)-A2 6.計算指定日期是周內第幾天 涉及到周的計算時,會用到一個WEEKDAY的函數,這個函數也比較簡單,需要兩個參數,格式為:WEEKDAY(日期,選項),重點是這里的選項有很多: 按照我們的習慣,是把星期一看作一周的第一天,因此這個選項值通常使用2,公式為:=WEEKDAY(A2,2) 注意:WEEKDAY得到的并不是星期幾,而是當第二參數為2的時候,結果正好與星期相同。 7.計算指定日期是年內第幾天 要得到某個日期是年內第幾天,思路并不難,用該日期減去當年的1月1日即可,公式為: =A2-DATE(YEAR(A2),1,1)+1 在這個公式中,首先用YEAR函數得到對應的年份,再用DATE函數得到該年第一天,再將兩個日期相減即可。 8. 計算指定日期是年內第幾周 要計算周數需要用到WEEKNUM函數,與WEEKDAY很相似,WEEKNUM同樣有兩個參數,而且第二個參數也是判斷周幾是一周的第一天。 假如以周一作為開始的話,公式就是=WEEKNUM(A2,2)。 ![]() 9.計算指定日期是月內第幾周 思路:用該日期在年內周數減去當月第一天在年內的周數再加一。 公式為:=WEEKNUM(A2,2)-WEEKNUM(EOMONTH(A2,-1)+1,2)+1 ![]() 小結:關于日期類的問題,常用的函數其實并不多,也都不難,難點在于將具體問題分析明白并且找到適用的函數,再根據不同問題所涉及的計算規(guī)則利用一些數學計算的思路就能得到正確的結果了。 |
|