Excel-計算工作天數和放假天數(NETWORKDAYS ...
文章推薦指數: 80 %
Excel-計算工作天數和放假天數(NETWORKDAYS,SUMPRODUCT) · 1. 不含六日的工作天數. 儲存格C2:=NETWORKDAYS(A2,B2) · 2. 不含六日、不含假日的工作天數.
學不完.教不停.用不盡
跳到主文
分享個人電腦教學和回答網友提問
(Google,Windows,雲端應用)
(Excel,Word,PowerPoint)
部落格全站分類:數位生活
相簿
部落格
留言
名片
贊助廠商
Feb19Fri201622:48
Excel-計算工作天數和放假天數(NETWORKDAYS,SUMPRODUCT)
網友問到Excel的問題:如何在一個日期區間中計算工作天數、放假天數?
參考下圖,因為每個人遇到的狀況不同,當要計算工作天數時,你可能要考量到星期六、星期日和放假日,也要考量到補班日,該如何處理?
【公式設計與解析】
1.不含六日的工作天數
儲存格C2:=NETWORKDAYS(A2,B2)
利用NETWORKDAYS函數,只要給予起始和終止的日期,即可計算日期區間中扣除星期六日的天數。
如果你的Excel版本沒有NETWORKDAYS函數,則可以改用SUMPRODUCT函數:
儲存格C2:=SUMPRODUCT(1*(WEEKDAY(ROW(INDIRECT("A"&N(A2)&":A"&N(B2))),2)<6))
"A"&N(A2)&":A"&N(B2):將二個日期的數值組成一個儲存格範圍,例如:A42370:A42552。
其中N函數可以將一個日期傳回其代表的數值。
INDIRECT("A"&N(A2)&":A"&N(B2):利用INDIRECT函數將上式轉換為真實的儲存格參照位址。
ROW(INDIRECT("A"&N(A2)&":A"&N(B2))):將上式置入ROW函數,轉換為列號範圍,例如:A42370:A42552→ROW(A42370:A42552),在SUMPRODUCT函數中可以表示為42370,42371,42372,...,42551,42552組成的陣列。
WEEKDAY(ROW(INDIRECT("A"&N(A2)&":A"&N(B2))),2)<6:在WEEKDAY函數中利用參數『2』,得到傳回值小於6者(表示星期一至星期五)的TRUE/FALSE陣列。
1*(WEEKDAY(ROW(INDIRECT("A"&N(A2)&":A"&N(B2))),2)<6):利用『*1』,將上式中的TRUE/FALSE陣列轉換為1/0陣列。
最後,透過SUMPRODUCT函數加總,即為所求。
2.不含六日、不含假日的工作天數
儲存格D2:=NETWORKDAYS(A2,B2,$G$3:$G$16)
在NETWORKDAYS函數置入第3個參數,其為放假日的儲存格範圍。
如果你的Excel版本沒有NETWORKDAYS函數,則可以改用SUMPRODUCT函數:
SUMPRODUCT(($G$3:$G$16<=B2)*($G$3:$G$16>=A2)):
求在儲存格G3:G16的放假日中,介於儲存格B2和儲存格A2兩個日期之間的個數。
儲存格D2:=SUMPRODUCT(1*(WEEKDAY(ROW(INDIRECT("A"&N(A2)&":A"
&N(B2))),2)<6))-SUMPRODUCT(($G$3:$G$16<=B2)*($G$3:$G$16>=A2))
3.不含六日、不含假日、含補班日的工作天數
SUMPRODUCT(($G$19:$G$21<=B2)*($G$19:$G$21>=A2)):
求在儲存格G19:G21的補班日中,介於儲存格B2和儲存格A2兩個日期之間的個數。
儲存格E2:=NETWORKDAYS(A2,B2,$G$3:$G$16)+SUMPRODUCT
(($G$19:$G$21<=B2)*($G$19:$G$21>=A2))
如果你的Excel版本沒有NETWORKDAYS函數,則可以改用SUMPRODUCT函數:
儲存格E2:=SUMPRODUCT(1*(WEEKDAY(ROW(INDIRECT("A"&N(A2)&":A"&
N(B2))),2)<6))-SUMPRODUCT(($G$3:$G$16<=B2)*($G$3:$G$16>=A2))+
SUMPRODUCT(($G$19:$G$21<=B2)*($G$19:$G$21>=A2))
全站熱搜
創作者介紹
vincent
學不完.教不停.用不盡
vincent發表在痞客邦留言(8)人氣()
全站分類:數位生活個人分類:講義資料此分類上一篇:Excel-資料重新排列(OFFSET,MOD,INT)
此分類下一篇:Excel-6種計算名次的方法(RANK,SUMPRODUCT,COUNTIF)
上一篇:Excel-資料重新排列(OFFSET,MOD,INT)
下一篇:Excel-6種計算名次的方法(RANK,SUMPRODUCT,COUNTIF)
歷史上的今天
2021:執行手機ExcelApp的儲存格文字換行動作
2021:執行手機ExcelApp的凍結窗格動作
2021:執行手機ExcelApp的自動填滿動作
2020:Excel-將統計表中的時報表轉為天報表和週報表(OFFSET)
2020:Google-指定郵件位址不要被認定為垃圾郵件(設定白名單)
2019:PowerPoint-擴增線上的圖庫
2019:Excel-資料轉換
2018:Excel-使用公式以起始字串來篩選(OFFSET,ROW,LEN)
2018:Excel-查詢分組組別(SUMPRODUCT,COLUMN,OFFSET)
2016:Excel-資料重新排列(OFFSET,MOD,INT)
2014:Excel-根據數值區間傳回對應文字(VLOOKUP,IF)
2013:Excel-快速建立數字矩陣數列
2010:Google地圖研究室
▲top
留言列表
發表留言
到站人數
本日人氣:
累積人氣:
內建文章關鍵字搜尋
回到頁首
回到主文
免費註冊
客服中心
痞客邦首頁
©2003-2021PIXNET
關閉視窗
PIXNET
Facebook
Yahoo!
Google
MSN
{{guestName}}
(登出)
您尚未登入,將以訪客身份留言。
亦可以上方服務帳號登入留言
請輸入暱稱(最多顯示6個中文字元)
請輸入標題(最多顯示9個中文字元)
請輸入內容(最多140個中文字元)
請輸入左方認證碼:
看不懂,換張圖
請輸入驗證碼
送出留言
延伸文章資訊
- 1Excel中計算工作日天數?學會這兩個函數,輕鬆搞定不用數日曆
簡單點的,可以直接兩個日期相減,或者,用Datedif,再或者,用DateValue、Year、Month、Day等函數的各種計算。
- 2Excel-計算工作天數和放假天數(NETWORKDAYS ...
Excel-計算工作天數和放假天數(NETWORKDAYS,SUMPRODUCT) · 1. 不含六日的工作天數. 儲存格C2:=NETWORKDAYS(A2,B2) · 2. 不含六日、不含假...
- 3EXCEL中快速計算工作日,最全的方法都這裡啦(附下載)
一、根據開始結束日期計算工作日 ... ①去除周末時間(雙休),在C2中輸入公式=NETWORKDAYS(A2,B2). ②去除周末(雙休)和節假日的天數,在C3中輸入 ...
- 4Excel 計算工作天數NETWORKDAYS 函數用法教學與範例
這種狀況就可以使用Excel 的 NETWORKDAYS 函數來計算工作日數,其用法如下: =NETWORKDAYS(開工日期,完工日期,[特別假日]). 以上面這個範例來說,就可以這樣寫:
- 5WORKDAY 函數
... 日期。 您可以在計算發票到期日、預期遞送時間或工作日數時,使用WORKDAY 來排除週末或假日。 ... Microsoft Excel 以連續的序列值來儲存日期,以便用來執行計算。