This advanced function calculates a date before or after a specified number of workdays, with customizable weekend days and optional holiday exclusions.
Syntax:
WORKDAY.INTL(start_date, days, [weekend], [holidays])
Arguments:
- start_date (required): Beginning date for calculation (serial number or date text)
- days (required): Number of workdays to add (positive) or subtract (negative)
- weekend (optional): Defines non-working days using either:
- Predefined number codes (1-14)
- 7-character binary string (0=workday, 1=weekend)
- holidays (optional): Additional non-working dates to exclude
Background:
WORKDAY.INTL() extends WORKDAY() with customizable weekends. Key features:
- Supports 14 predefined weekend patterns (Table 7-3)
- Allows custom weekend definitions via 7-digit binary strings
- Maintains all WORKDAY() functionality including holiday exclusion
- Ideal for international business with non-standard workweeks
Weekend Options:
| Number | Weekend Days | String |
| 1 | Saturday-Sunday | 0000011 |
| 2 | Sunday-Monday | 1000001 |
| 3 | Monday-Tuesday | 1100000 |
| … | … | … |
| 14 | Saturday only | 0000010 |
Important Notes:
- Defaults to Saturday-Sunday weekend (code 1) if omitted
- String must contain exactly seven 0/1 characters
- All-1 string (1111111) is invalid
- Returns #NUM! for invalid date results
- Returns #VALUE! for invalid inputs
- Truncates decimal day values
Examples:
- Standard workweek:
=WORKDAY.INTL(TODAY(), 14) → 14 business days from today (Sat/Sun off) - Middle Eastern workweek (Fri/Sat off):
=WORKDAY.INTL(« 01/01/2023 », 10, 7) → 10 workdays (Fri/Sat weekends) - Custom 4-day workweek (Wed/Thu/Fri off):
=WORKDAY.INTL(« 06/01/2023 », 15, « 0011100 ») - With holidays:
=WORKDAY.INTL(« 12/12/2022 », 10, 1, {« 12/25/2022″, »12/26/2022 »})

Formatting:
- Holiday lists must use curly braces: {« date1″, »date2 »}
- Date strings should match system locale settings
- For readability, consider using cell references for holiday lists