你好,我是劉卓。歡迎來到我的公號,excel函數(shù)解析。今天和你分享的函數(shù)是workday,看這個單詞就知道它和工作日有關(guān),它返回起始日期之前或之后n個工作日的日期。工作日不包含周末和節(jié)假日。下面來看下它的參數(shù)和用法。workday返回起始日期之前或之后的n個工作日的日期。函數(shù)語法如下,有3個參數(shù)。 WORKDAY(start_date, days, [holidays])第1參數(shù)Start_date :必需。是起始日期??梢允欠祷厝掌诘娜我庵?。第2參數(shù)Days :必需。起始日期之前或之后不包含周末及節(jié)假日的天數(shù)。如果是正數(shù),那么就是起始日期之后的日期;否則就是起始日期之前的日期。第3參數(shù)Holidays :可選。是節(jié)假日。也就是要從工作日中排除的一些日期,包括傳統(tǒng)假日,國家法定節(jié)假日及非固定假日。可以是包含日期的單元格區(qū)域,也可以是代表日期的常量數(shù)組。 1.這個函數(shù)默認(rèn)的周末是周六和周日。也就是說它會把周六和周日排除出去,即使節(jié)假日中不包含周六和周日。后面學(xué)了自定義周末參數(shù)的那個函數(shù)workday.intl就好理解了,其實周末也是有個參數(shù)的。2.工作日既不是周末,也不是節(jié)假日。這里要把周末和節(jié)假日分開,周末一般指的是周六和周日。節(jié)假日通常是國家法定假日,比如5,1和10,1等。以下圖第1個為例說明,起始日期是今天的日期2020/4/12,之后的第6個工作日的日期是2020/4/20。它是怎么算的呢?可以參考下圖的日歷。從日歷中可以看出2020/4/13是它之后的第1個工作日,2020/4/14是之后的第2個工作日,一直往后數(shù),第5個工作日是2020/4/17,第6個工作日是2020/4/20。因為2020/4/18和2020/4/19是周六和周末,它們不是工作日,所以要跳過。由于這里沒有指定節(jié)假日,所以不用跳過節(jié)假日的日期。假如你在一家供應(yīng)商拿貨,他針對不同的產(chǎn)品會有不同的交期。比如A產(chǎn)品他約定的交期是下單日期之后的2個工作日,那么你就可以計算預(yù)計的交期。在D7單元格輸入公式=WORKDAY(B7,C7),向下填充。 從上邊的日歷中可以看到,2020/4/2之后的第2個工作日是2020/4/6。因為2020/4/4和2020/4/5是周六和周末,所以要跳過。這個函數(shù)默認(rèn)的周末就是周六和周日。但是現(xiàn)實中,不是所有人的周末都是周六和周日,有的人可能只是單休。所以就要用到自定義周末參數(shù)的函數(shù),下次會講。下面再來看看有節(jié)假日的情況。我列舉了2020年1月到4月的國家法定節(jié)假日,放在G列。此時的預(yù)計交期會有所改變,E7的公式為=WORKDAY(B7,C7,G$6:G$18),返回的結(jié)果為2020/4/7。與之前沒有節(jié)假日的時候相比,推遲了1天。因為從2020/4/4到2020/4/6這3天是清明節(jié),所以要跳過這3天。如下圖日歷所示。有些小伙伴在這里可能還有個疑問,workday默認(rèn)的周末是周六和周日,算工作日的時候會把它們排除掉?,F(xiàn)在節(jié)假日中也包含周六和周末,會不會再排除一次呢?不會的,如果1個日期即是周末,又是節(jié)假日,那么它只被排除1次。比如2020/4/4和2020/4/5。這里只排除非工作日。有了上面的認(rèn)識,我們也可以用常規(guī)公式來計算預(yù)計交期,公式為=SMALL(IF((WEEKDAY(B7+ROW($1:$99),2)<6)*ISNA(MATCH(B7+ROW($1:$99),G$6:G$18,)),B7+ROW($1:$99)),C7),按ctrl+shift+enter三鍵。判斷起始日期之后的一段時間內(nèi),比如這里是起始日期之后的1到99天,是工作日的有哪些日期。然后從這些工作日的日期中找到我們要的那個日期。如何判斷是否是工作日呢?既不是周末也不是節(jié)假日的就是工作日。https://pan.baidu.com/s/1t_34NX1asyE6tRjh5MMPRA
|