WORKDAY

Add or subtract working days from a date, skipping weekends.

Syntax

WORKDAY(start_date, days, [holidays])
Argument Required Description
start_date Required The date to count from. Not itself counted.
days Required How many working days to move. Negative counts backwards.
holidays Optional A range of dates to skip as well.

Examples

Every example below was executed against VisiGrid engine 0.35.0 — not transcribed from another vendor's documentation. Reproduce any of them with vgrid calc.

Formula Result Notes
=DAY(WORKDAY(DATE(2024,3,15),1)) 18 One working day after Friday the 15th is Monday the 18th.
=DAY(WORKDAY(DATE(2024,3,15),3)) 20
=DAY(WORKDAY(DATE(2024,3,15),-1)) 14 Negative days count backwards.
=WEEKDAY(WORKDAY(DATE(2024,3,15),1)) 2 Weekday 2 is Monday — the weekend was skipped.

The answer is a serial number

WORKDAY returns a date, and a date is a number — 45371, being days since the 1900 epoch. That is the same value Excel returns; the difference is what the cell does with it.

Formatted as a date it reads normally. If you want to check the answer in a formula, take it apart with DAY, MONTH and YEAR rather than comparing serials by eye:

=DAY(WORKDAY(A1, 3))       → 20

The start date is not counted

WORKDAY(Friday, 1) is the following Monday, not Friday. It answers “N working days from now”, which is how delivery dates, payment terms, and SLAs are usually written.

The mirror of NETWORKDAYS, which counts inclusively because it answers a different question. The two are not inverses, and expecting them to be is a reliable source of off-by-one.

Weekends only, unless you say otherwise

Saturday and Sunday are skipped. The holidays range skips more:

=WORKDAY(A1, 5, Holidays!A:A)

WORKDAY.INTL, for weeks that are not Monday–Friday, is not implemented yet.

Excel compatibility

Matches Excel, including negative days and the exclusive start date.

Related functions

Last updated