# networkdays - 指令碼與圖表函數

networkdays 函數會傳回介於 start\_date 和 end\_date 之間 (可包含) 的工作日數 (週一至週五)，並考慮到所有選用列出的 holiday。

語法：

networkdays (start\_date, end\_date [, holiday])

**傳回資料類型：**整數

引數：

Networkdays 引數

| 引數 | 描述 |
| --- | --- |
| start\_date | 要評估的開始日期。 |
| end\_date | 要評估的結束日期。 |
| holiday | 從工作日排除的假日期間。假日期間指定為開始日期和結束日期，以逗號分隔。<br><br>範例： `  '25/12/2013', '26/12/2013' `<br><br>您可以指定多個假日期間，以逗點區隔。<br><br>範例： `  '25/12/2013', '26/12/2013', '31/12/2013', '01/01/2014' ` |

範例與結果：

這些範例使用日期格式 DD/MM/YYYY。日期格式在您的載入指令碼頂部的 SET DateFormat 陳述式中指定。變更範例中的格式以符合您的要求。

範例 1:

`networkdays ('19/12/2013', '07/01/2014')`

傳回 14。此範例不會考慮假日。

範例 2:

`networkdays ('19/12/2013', '07/01/2014', '25/12/2013', '26/12/2013')`

傳回 12。此範例會將假日 25/12/2013 至 26/12/2013 納入考量。

範例 3:

`networkdays ('19/12/2013', '07/01/2014', '25/12/2013', '26/12/2013', '31/12/2013', '01/01/2014')`

傳回 10。此範例將兩個假日期間納入考量。

範例 4:

新增範例指令碼到您的文件中並加以執行。然後至少將結果資料行中所列的欄位新增至您文件中的工作表，以查看結果。

`PayTable:` `LOAD recno() as InvID, * INLINE [` `InvRec|InvPaid` `28/03/2012|28/04/2012` `10/12/2012|01/01/2013` `5/2/2013|5/3/2013` `31/3/2013|01/5/2013` `19/5/2013|12/6/2013` `15/9/2013|6/10/2013` `11/12/2013|12/01/2014` `2/3/2014|2/4/2014` `14/5/2014|14/6/2014` `13/6/2014|14/7/2014` `7/7/2014|14/8/2014` `4/8/2014|4/9/2014` `] (delimiter is '|');` `NrDays:` `Load *,` `NetWorkDays(InvRec,InvPaid) As PaidDays` `Resident PayTable;` `Drop table PayTable;`

` `

產生的表格顯示表格中各記錄的 NetworkDays 傳回值。

範例 4 結果

| InvID | InvRec | InvPaid | PaidDays |
| --- | --- | --- | --- |
| 1 | 28/03/2012 | 28/04/2012 | 23 |
| 2 | 10/12/2012 | 01/01/2013 | 17 |
| 3 | 5/2/2013 | 5/3/2013 | 21 |
| 4 | 31/3/2013 | 01/5/2013 | 23 |
| 5 | 19/5/2013 | 12/6/2013 | 18 |
| 6 | 15/9/2013 | 6/10/2013 | 15 |
| 7 | 11/12/2013 | 12/01/2014 | 23 |
| 8 | 2/3/2014 | 2/4/2014 | 23 |
| 9 | 14/5/2014 | 14/6/2014 | 23 |
| 10 | 13/6/2014 | 14/7/2014 | 22 |
| 11 | 7/7/2014 | 14/8/2014 | 29 |
| 12 | 4/8/2014 | 4/9/2014 | 24 |