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.