WORKDAY.INTL Function (LibreOffice Calc)

Date & Time Advanced LibreOffice Calc LibreOffice 4.0

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.

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. It is the advanced version of WORKDAY, ideal for international calendars, shift work, retail schedules, and industries with non‑standard weekends.

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 = weekend
  • 0 = 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
WORKDAY.INTL is your fully customizable business‑calendar engine — perfect for international teams, shift work, retail schedules, and any workflow that requires precise control over what counts as a working day.
  • 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.