WORKDAY.INTL Function (LibreOffice Calc)
The WORKDAY.INTL function returns a date that is a specified number of working days before or after a given date, using a fully customizable weekend pattern and optional holidays.
Compatibility
▾| Excel | ✔ |
| Gnumeric | ✔ |
| Google_sheets | ✔ |
| Libreoffice | ✔ |
| Numbers | ✔ |
| Onlyoffice | ✔ |
| Openoffice | ✔ |
| Wps | ✔ |
| Zoho | ✔ |
What the WORKDAY.INTL Function Does ▾
- Adds or subtracts working days
- Lets you define custom weekends
- Optionally excludes holidays
- Works with serial dates or text dates
- Returns a serial date number formatted as a date
It is designed to be flexible, international, and ideal for complex scheduling.
Syntax ▾
WORKDAY.INTL(start_date; days; [weekend]; [holidays])
Arguments
-
start_date:
The date from which to offset. -
days:
Number of working days to add (positive) or subtract (negative). -
weekend (optional):
Defines which days are weekends.
Can be a code or a 7‑character string. -
holidays (optional):
A range of dates to exclude.
Weekend Codes ▾
| Code | Weekend Days |
|---|---|
| 1 | Saturday, Sunday |
| 2 | Sunday, Monday |
| 3 | Monday, Tuesday |
| 4 | Tuesday, Wednesday |
| 5 | Wednesday, Thursday |
| 6 | Thursday, Friday |
| 7 | Friday, Saturday |
| 11 | Sunday only |
| 12 | Monday only |
| 13 | Tuesday only |
| 14 | Wednesday only |
| 15 | Thursday only |
| 16 | Friday only |
| 17 | Saturday only |
Custom Weekend String Format ▾
A 7‑character string of 0s and 1s:
- Position 1 = Monday
- Position 7 = Sunday
1= weekend0= working day
Example:
0000011 → Saturday & Sunday weekend
1000000 → Monday weekend only
0000100 → Friday weekend only
Basic Examples ▾
Add 10 working days (default weekend Sat–Sun)
=WORKDAY.INTL("2024-01-01"; 10)
Add 10 working days with Friday–Saturday weekend
=WORKDAY.INTL("2024-01-01"; 10; 7)
Add 10 working days with Sunday‑only weekend
=WORKDAY.INTL("2024-01-01"; 10; 11)
Add 10 working days with custom weekend string (Fri–Sun)
=WORKDAY.INTL("2024-01-01"; 10; "0000111")
Advanced Examples ▾
Next business day with custom weekend
=WORKDAY.INTL(A1; 1; "0000011")
Previous business day
=WORKDAY.INTL(A1; -1; "0000011")
Add 20 working days excluding holidays
=WORKDAY.INTL(A1; 20; "0000011"; C1:C10)
Retail schedule (weekend = Sunday only)
=WORKDAY.INTL(A1; B1; 11)
Middle‑East weekend (Fri–Sat)
=WORKDAY.INTL(A1; B1; 7)
Shift schedule (weekend = Tue–Wed)
=WORKDAY.INTL(A1; B1; 4)
Add working days to a text date
=WORKDAY.INTL(DATEVALUE(A1); 5; "0000011")
Add working days to Excel serial dates imported as text
=WORKDAY.INTL(DATE(1899;12;30)+VALUE(A1); 3; "0000011")
Generate a business‑day schedule
=WORKDAY.INTL($A$1; ROW(A1)-1; "0000011")
Last business day of month (custom weekend)
=WORKDAY.INTL(EOMONTH(A1;0)+1; -1; "0000011")
Holiday Handling ▾
Holiday list example
| C1 | C2 | C3 |
|---|---|---|
| 2024‑01‑01 | 2024‑02‑19 | 2024‑04‑01 |
Use:
=WORKDAY.INTL(A1; 10; "0000011"; C1:C3)
Holidays must be real dates
Use DATEVALUE if imported as text.
Edge Cases and Behavior Details ▾
WORKDAY.INTL returns a number, not text
Accepts:
- Real dates
- Serial numbers
- DATEVALUE outputs
- ISO date strings
Invalid text → Err:502
Time components are ignored
Negative days allowed
Weekend string must be exactly 7 characters
Holidays override weekends only if they fall on working days
WORKDAY.INTL of an error → error propagates
Common Errors and Fixes ▾
Err:502 — Invalid argument
Cause:
- Text not recognized as a date
- Non-numeric days
- Invalid weekend code or string
- Holidays contain invalid values
Fix:
- Wrap with DATEVALUE
- Ensure weekend string is 7 characters
- Ensure holidays are real dates
Wrong result due to text dates
Fix:
- Normalize with DATEVALUE
Holidays not excluded
Cause:
- Holiday list contains text, not dates
Fix:
- Convert with DATEVALUE or VALUE
Best Practices ▾
- Use WORKDAY.INTL for any non‑standard weekend schedule
- Use WORKDAY for standard Sat–Sun weekends
- Normalize text dates with DATEVALUE
- Store holidays in a dedicated range or named range
- Use custom weekend strings for maximum control
- Use WORKDAY.INTL(EOMONTH()+1; -1) for last business day of month
Related Patterns and Alternatives ▾
- Use WORKDAY for standard weekends
- Use NETWORKDAYS.INTL for counting working days
- Use NETWORKDAYS for standard weekend counting
- Use DATE for constructing comparison dates
- Use EDATE and EOMONTH for month offsets
By mastering WORKDAY.INTL and its companion functions, you can build powerful, flexible, and fully business‑aware scheduling workflows in LibreOffice Calc.