# firstworkdate - スクリプトおよびチャート関数

firstworkdate 関数は、end\_date までに no\_of\_workdays (月～金曜日) の日数に達するように、オプションで指定された休日を考慮した最遅開始日を返します。end\_date と holiday は、有効な日付またはタイムスタンプでなければなりません。

構文:

firstworkdate(end\_date, no\_of\_workdays [, holiday] )

**戻り値データ型：**整数

引数：

FirstWorkDate 引数

| 引数 | 説明 |
| --- | --- |
| end\_date | 評価する終了日のタイムスタンプ。 |
| no\_of\_workdays | 作成する作業日数。 |
| 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：

`firstworkdate ('29/12/2014', 9)`

'17/12/2014' を返します。

例2：

`firstworkdate ('29/12/2014', 9, '25/12/2014', '26/12/2014')`

2 日間の休日期間を考慮したため、'15/12/2014' を返します。

例3：

ドキュメントに例のスクリプトを追加して実行します。その後、結果列に含まれている項目をドキュメントのシートに追加して結果を表示します。

`ProjectTable:` `LOAD *, recno() as InvID INLINE [` `EndDate` `28/03/2015` `10/12/2015` `5/2/2016` `31/3/2016` `19/5/2016` `15/9/2016` `] ;` `NrDays:` `Load *,` `FirstWorkDate(EndDate,120) As StartDate` `Resident ProjectTable;` `Drop table ProjectTable;`

` `

結果テーブルには、テーブルの各レコードに対する FirstWorkDate の戻り値が表示されます。

例 3 の結果

| InvID | EndDate | StartDate |
| --- | --- | --- |
| 1 | 28/03/2015 | 13/10/2014 |
| 2 | 10/12/2015 | 26/06/2015 |
| 3 | 5/2/2016 | 24/08/2015 |
| 4 | 31/3/2016 | 16/10/2015 |
| 5 | 19/5/2016 | 04/12/2015 |
| 6 | 15/9/2016 | 01/04/2016 |