Documentation/Calc Functions/WORKDAY.INTL

Function name:
WORKDAY.INTL

Category:
Date and Time

Summary:
Calculates the date which is a specified number of workdays before or after a given start date. Holidays (or other non-work days) can be specified and the standard workweek can be redefined.

Syntax:
WORKDAY.INTL(StartDate; Days[; [Weekend][; Holidays]])

Returns:
Returns an integer which is the date-time serial number of the day that is a specified number of workdays before or after the given date. The returned value is formatted as a date by default, but you can apply other formats as needed.

Arguments:
StartDate is the date (in quotation marks) or a date-time serial number, or a reference to the cell containing one of those types, which is the date for which the calculation is to be carried out.

Days is an integer value or a reference to a cell containing that value which is the number of workdays to be used as the offset in the calculation. A positive value is entered to get a result later than StartDate, a negative value is entered to get a result earlier than StartDate.

Holidays is a list of dates corresponding to holidays that are not to be counted as workdays. This list can be passed as a range of cells containing date-time serial numbers (possibly displayed in a date format). Alternatively, the list can be passed as an inline array containing either date strings (in quotation marks) or date-time serial numbers. If omitted, no holidays are assumed.


 * If StartDate is not a valid date expression, then WORKDAY.INTL reports a #VALUE! error.
 * WORKDAY.INTL ignores any time components of StartDate.
 * If Days is non-numeric, then WORKDAY.INTL reports a #VALUE! error.
 * If Days is a non-integer value, then WORKDAY.INTL truncates it to an integer.
 * If a string is used for the Weekend argument, and that string does not contain exactly seven characters, WORKDAY.INTL reports a #VALUE! error. If the string does contain seven characters, but at least one of those characters is neither a '0' nor a '1', then WORKDAY.INTL reports an invalid argument error (Err:502).
 * If a number is used for the Weekend argument, and that number is not an integer value, then WORKDAY.INTL reports an invalid argument error (Err:502). If the number is an integer value but does not lie in either the range 1 to 7 or the range 11 to 17, then WORKDAY.INTL reports an invalid argument error (Err:502).
 * If Weekend is passed as a cell reference and that cell contains an error code (such as #NAME?), that error status will be propagated as the result of WORKDAY.INTL.
 * If Holidays is passed as an inline array, and any entry of that array is not a date or a date-time serial number, then WORKDAY.INTL reports a #VALUE! error.
 * If Holidays is passed as a cell range, then in most cases cells that do not contain a date or a date-time serial number lying within the relevant period are ignored. However, if a cell contains an error code (such as #NAME?), that error status will be propagated as the result of WORKDAY.INTL.

Details specific to WORKDAY.INTL function
The order of the optional Holidays and Weekend parameters is different for WORKDAY.INTL when compared to the specification in ODF 1.2. Also, the definition of the Weekend parameter for Calc’s WORKDAY.INTL is extended compared to the corresponding Workdays parameter in ODF 1.2. However, Calc's WORKDAY.INTL function is compatible with Excel's function of the same name.

Related LibreOffice functions:
WORKDAY

ODF standard:
Section 6.10.22, part 2

Equivalent Excel functions:
WORKDAY.INTL