2012年6月7日 星期四

Excel-計算日期間的例假日數(NETWORKDAY)

如果在 Excel 中有一個含有起訖日期的資料表,想要來計算例假日數和上班日數,該如何處理?Excel 提供了 NETWORKDAY 函數,可以輕鬆的計算出上班日數。

儲存格C2:=NETWORKDAYS(A2,B2)

儲存格D2:=B2-A2-C2+1

試試不同的做法來練習函數的運用:

儲存格C2:=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(A2&":"&B2)),2)<6))

ROW(INDIRECT(A2&":"&B2)):以本題為例,產生ROW(41067:41124)。

WEEKDAY(ROW(INDIRECT(A2&":"&B2)),2)<6):找出日期為星期六和星期日者(條件成立者)的陣列。

SUMPRODUCT 函數中使用「—」,將  True/False 陣列,轉換為 1/0 陣列,再計算 1 的個數和。

儲存格D2:=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(A2&":"&B2)),2)>5))

原理同上式。

這些函數的用法在很多地方會用到,要細細體會。

沒有留言:

張貼留言

檢視其他文章

好康東東