What Most People Miss About How the WORKDAY Function Works in Excel

WORKDAY returns a date that’s a specified number of working days before or after a start date, excluding weekends and optional holidays. But if you think it just counts Monday–Friday and stops there, you’ll ship a project two days early.

Quick Answer

WORKDAY(start_date, days, [holidays]) adds or subtracts business days (Mon–Fri) from a start date, skipping weekends automatically — and optionally skipping dates in a holiday list. It doesn’t care about hours, time zones, or whether your team works Tuesday–Saturday; it assumes standard US weekdays unless you use WORKDAY.INTL.

All the Methods

MethodStepsBest ForLimitations
WORKDAY (default)=WORKDAY(A2,B2,C2:C6)US-based teams with Mon–Fri schedules and fixed holiday listCan’t handle non-standard weekends (e.g., Fri–Sat off); holidays must be actual dates, not text strings
WORKDAY.INTL=WORKDAY.INTL(A2,B2,11,C2:C6) — '11' = Sun–Mon offGlobal teams, rotating shifts, or custom weekend patternsWeekend code is unintuitive (e.g., 17 = Sat–Sun off but treats Friday as workday — wait, no: 17 means only Sunday off)
WORKDAY + NETWORKDAYS comboUse NETWORKDAYS to verify count, then feed result into WORKDAY for validationAuditing deadline logic before sending to Legal or FinanceAdds two extra formulas; overkill for simple internal task tracking
Array-entered WORKDAY with dynamic holidays=WORKDAY(A2,B2,IF(D2:D10="Yes",E2:E10,"")) — Ctrl+Shift+Enter (or Enter in newer Excel)Projects where holidays are flagged conditionally (e.g., "Observed" column)Fails silently if array isn’t entered correctly; breaks in Excel Web without legacy array support

Method 1 Deep Dive

Let’s say Sarah Chen (Project Lead, Acme Corp) needs to set a QA sign-off date: 10 business days after dev handoff on April 5, 2024. Her team observes 4 holidays that quarter: April 10 (Emancipation Day), May 27 (Memorial Day), June 19 (Juneteenth), and July 4 (Independence Day).

She enters this in cell D2:
=WORKDAY(A2,B2,C2:C5)
where A2 = 2024-04-05, B2 = 10, and C2:C5 contains those four holiday dates.

Excel returns 2024-04-19. Wait — that’s a Friday. And April 10 is skipped. So it counts: Apr 5 (start), Apr 8–9 (2 days), skips Apr 10, then Apr 11–12 (2 more), Apr 15–16 (2), Apr 17–18 (2), Apr 19 (10th). Correct.

Here’s the surprise: WORKDAY *includes* the start date only when days = 0. If B2 = 0, D2 = 2024-04-05. If B2 = 1, it lands on Apr 8 — not Apr 6. It treats the start date as “day zero”, then moves forward full business days. This trips up PMs who assume +1 means “tomorrow”.

Also — and this matters in shared workbooks — if C2:C5 contains a typo like "2024-04-10" typed as text (not a real date), WORKDAY ignores it silently. No error. Just an incorrect result. Always check holiday cells with =ISNUMBER(C2).

Method 2 Deep Dive

Now imagine Rajiv Patel runs a Dubai office. His team works Sunday–Thursday, with Friday–Saturday off. Using plain WORKDAY would give him deadlines on Fridays — useless.

He uses WORKDAY.INTL instead. In F2, he writes:
=WORKDAY.INTL(E2,G2,7,H2:H6)
E2 = 2024-04-05, G2 = 10, H2:H6 = same holidays, and 7 tells Excel: “weekend = Friday & Saturday” (the code chart is buried in Excel help — 1 = Sat–Sun, 2 = Sun–Mon, … 7 = Fri–Sat).

The result? 2024-04-18 — a Thursday. That’s one day earlier than the US version. Why? Because under Fri–Sat off, April 7 and 14 are Sundays (workdays), so the count compresses.

Keyboard shortcut tip: To open the Function Arguments dialog for any function — including WORKDAY — select the cell, press Alt + M + I. You’ll see each argument labeled clearly. Much faster than scrolling through tooltip hints.

One thing most people miss: WORKDAY.INTL’s weekend argument accepts a 7-character string like "0000011" — where 1 = weekend day, 0 = workday — starting Monday. So "0000011" = Fri & Sat off. But if you type "1100000", Excel reads it as Mon & Tue off. That’s why Rajiv’s team once scheduled a sprint review on a Monday — because someone pasted the string backward.

Cheat Sheet

TaskFormulaShortcut / TipCell Example
Add 5 workdays, skip holidays in C2:C8=WORKDAY(A2,5,C2:C8)Always validate holidays with =ISNUMBER()A2 = 2024-03-15 → returns 2024-03-22
Skip weekends + Fri–Sat off=WORKDAY.INTL(A2,5,"0000011",C2:C8)Use Alt+M+I to open argument dialogA2 = 2024-03-15 → returns 2024-03-21
Count backward: 3 days before deadline=WORKDAY(A2,-3,C2:C8)Negative days = go backward; still skips weekends/holidaysA2 = 2024-05-10 → returns 2024-05-07
Confirm holiday list is valid=SUMPRODUCT(--ISNUMBER(C2:C8))Should equal row count — if less, some holidays are textReturns 4 if all 4 holidays are real dates
Dynamic holiday range (filtered)=WORKDAY(A2,5,IF(D2:D20="Yes",E2:E20,""))Enter with Ctrl+Shift+Enter in older ExcelOnly includes E2:E20 where D column = "Yes"
Avoid weekend-only miscalculation=WORKDAY.INTL(A2,5,1,C2:C8)Code 1 = default Sat–Sun off — safest for US teamsSame as plain WORKDAY, but more explicit
Anna Kim

Anna Kim

Anna specializes in tax forms