嗨,各位同學們好呀!我是小E~
小E還為同學們準備了100門優質免費課程,
獲取直接在公種号【秋葉Excel】回複【頭條】即可~
最近,有個小夥伴向我咨詢:如何統計工作日的天數?
比如:
計算一個訂單的處理時長;
投訴的回複時長;
辦理證件的時長;
項目的完成長;
……
我們總不能對着日曆一個個數吧,數據少的時候還好,但是一旦數據多了,那鐵定是一個災難呀!
有沒有一種方法能夠自動計算出來呢?并且還能夠兼顧到國家的法定節假日,還有因放假補回來的工作日。
你别說,真的有哦,這就是今天要為大家介紹的NETWORKDAYS函數~
NETWORKDAYS 函數
NETWORKDAYS 函數,主要是計算兩個日期之間的工作日天數。
語法結構為:
同時,因為每個公司或者企業放假日期不同,所以還可以根據公司的自身需要,自定義剔除某些假期和法定假期。
語法中的 Holidays 就是幹這個用的,它是可選參數。默認是不包括周末雙休日,也就是說在計算天數中會自動忽略周末~
如下圖,計算 2020-6-23 到 2020-6-28 之間的工作日天數。
當僅用 NETWORKDAYS 函數來計算工作日的時候(即隻過濾周末)。
公式:
=NETWORKDAYS(A3,B3)
計算結果為 4 個工作日,也就是 6 月 23 日、24 日、25 日、26 日,而 6 月 27 日和 28 日為周末則不計算進去。
PS:前提是日期為真日期。Excel 中真正的日期本質上是以數值的形式存儲在單元格裡的,不管你把日期的格式設置成了什麼樣的「外在」顯示形式。
但是,我們知道 6 月 25 日和 6 月 26 日為中國的法定節假日-端午節呀,這個是不應計算進入工作日天數的。
因此,我們加入法定節假日的日期,也就是公式中的【Holidays】參數,之後就可以計算出工作日為 2 天。
=NETWORKDAYS(A3,B3,$C$17:$C$18)
但是,問題又雙叒叕來了~
我們知道,6 月 28 日雖然是周末,然而現實就是我們還是要正常上班滴
這個時候,我們直接應用這個公式,顯然是沒有辦法兼顧到這種情況的。
如何解決以上問題呢?此時,IF 條件判斷函數就該登場了~
公式:
=IF(B3<>"",IF(AND(A3<=$C$20,B3>=$C$20),(NETWORKDAYS(A3,B3,$C$17:$C$19)) 1,NETWORKDAYS(A3,B3,$C$17:$C$19)),"")
▲ 左右滑動查看
我們來拆解下這個函數的運行邏輯~
這裡包含了兩個判斷條件,每當判斷條件滿足時,函數就會進行下一步計算。
簡單理解,當你打遊戲時遇到兩個關卡,每個關卡都有兩個門讓你選擇開啟;開啟不同的門,接下來面臨的遊戲玩法就會不同。
第一個關卡:判斷收貨時間是否為空
選擇 ❶:為空——Game Over
也就是計算結果會直接返回空,如下圖所示:
選擇 ❷:不為空——進入下一關
第二個關卡:判斷收貨時間是否處在 6 月 28 日這天,即調休日
選擇 ❶:不包括調休日——普通計算
=NETWORKDAYS(A3,B3,$C$17:$C$19) 1
選擇 ❷:包括調休日——普通計算基礎上 1
=NETWORKDAYS(A3,B3,$C$17:$C$19) 1
NETWORKDAYS.INTL 函數
但是又有小夥伴問了,如果公司的周末隻有周六或周日一天呢?
或者周一到周五某一天/兩天為休息日呢?這個怎麼處理呢?
對于這種問題,我們就要用到 NEWORKDAYS 函數的搭檔NETWORKDAYS.INTL函數。
其語法結構為:
與 NETWORDKDAYS 函數最大的不同就是增加了自定義周末,周末由使用者自己決定。
因此,隻需要在 Weekend 參數上填上對應的數字就可以如上面統計工作日一樣啦!
Weekend 參數所對應的周末日數字如下:
如果以下參數仍沒有自己想要的周末,不要絕望!
因為,這個函數為你準備了更為靈活的定義方法:
Weekend 參數也可以是:由 0 和 1 組成 7 位數字的字符串。其中,0 代表工作日,1 代表休息日。
如,公司周二、周五和周日休息,則可使用「0100101」來表示哦!
有了這些函數,你就再也不用擔心統計工作日的問題了~
知識總結
我們再來總結下,今天所學的,用于計算兩個日期間隔的工作日數量的函數:
NETWORKDAYS 和 NETWORKDAYS.INTL~
❶ 查看單元格内是否為真日期;
❷ 判斷是否為空單元格;
❸ 确定節假日;
❹ NETWORKDAYS(開始日期,結束日期,[公司假期]);
❺ NETWORKDAYS.INTL(開始日期,結束日期,[自定義周末],[公司假期])。
小E還為同學們準備了100門優質免費課程,
獲取直接在公種号【秋葉Excel】回複【頭條】即可~
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!