What Is the NETWORKDAYS Function?
NETWORKDAYS calculates the number of working days (Monday through Friday) between two dates, automatically excluding weekends. You can also provide a list of holidays to skip. This is essential for project management, payroll calculations, SLA tracking, and any scenario where you need to count business days rather than calendar days. A task that spans 14 calendar days might only cover 10 working days, and NETWORKDAYS tells you exactly that.
Syntax
=NETWORKDAYS(start_date, end_date, [holidays])
| Parameter | Description |
|---|---|
| start_date | The beginning of the period. |
| end_date | The end of the period. Both start and end dates are included in the count if they fall on a workday. |
| holidays | Optional. A range of cells containing dates to exclude (company holidays, closures, etc.). |
Both the start and end dates are inclusive. If start_date is a Monday and end_date is the following Friday, the result is 5.
Basic Examples
Simple Working Days Count
=NETWORKDAYS("2026-04-01", "2026-04-15")
Result: 11. April 1-15, 2026 spans 15 calendar days, but only 11 are weekdays.
Using Cell References
| A | B | C (Formula) | C (Result) | |
|---|---|---|---|---|
| 1 | Start Date | End Date | Working Days | Working Days |
| 2 | 2026-01-05 | 2026-01-23 | =NETWORKDAYS(A2, B2) | 15 |
| 3 | 2026-03-01 | 2026-03-31 | =NETWORKDAYS(A3, B3) | 23 |
Excluding Holidays
Set up a holiday list in a separate range:
| E | |
|---|---|
| 1 | 2026-01-01 |
| 2 | 2026-01-19 |
| 3 | 2026-02-16 |
| 4 | 2026-07-03 |
| 5 | 2026-12-25 |
=NETWORKDAYS("2026-01-01", "2026-01-31", E1:E5)
Result: 20. January 2026 has 22 weekdays, minus New Year's Day and MLK Day leaves 20 working days.
Advanced Examples
Calculating Project Delivery Dates and SLA Compliance
Suppose you track support tickets with a created date, resolved date, and a 5-business-day SLA:
| A | B | C | D (Formula) | E (Formula) | |
|---|---|---|---|---|---|
| 1 | Ticket | Created | Resolved | Days to Resolve | SLA Met? |
| 2 | TK-001 | 2026-03-09 | 2026-03-13 | =NETWORKDAYS(B2,C2) | =IF(D2<=5,"Yes","No") |
| 3 | TK-002 | 2026-03-09 | 2026-03-18 | =NETWORKDAYS(B3,C3) | =IF(D3<=5,"Yes","No") |
TK-001 was resolved in 5 business days (Mon-Fri), meeting the SLA. TK-002 took 8 business days (spanning two weekends), missing the target.
Calculating Billable Days for Contractors
For a contractor billing by the working day over a specific engagement period, minus company holidays:
=NETWORKDAYS(B2, C2, Holidays!A:A) * D2
Where B2 is the start date, C2 is the end date, the Holidays sheet lists all non-working dates, and D2 is the daily rate. This gives you the total billable amount in a single formula.
Using NETWORKDAYS.INTL for Custom Weekends
If your organization does not follow a Monday-Friday schedule, use NETWORKDAYS.INTL instead:
=NETWORKDAYS.INTL("2026-04-01", "2026-04-30", "0000011")
The 7-character string represents Monday through Sunday, where 1 = weekend and 0 = workday. "0000011" means Saturday and Sunday are weekends (the default). Change it to "0000001" for Sunday-only weekends, or "1000001" for a Friday-Saturday weekend common in some countries.
Common Mistakes
- Swapping start and end dates. If end_date is before start_date, NETWORKDAYS returns a negative number. This is technically valid (it counts backward), but it is usually a mistake. Wrap in ABS if you just want the absolute count:
=ABS(NETWORKDAYS(A2, B2)). - Forgetting to maintain the holiday list. NETWORKDAYS only excludes dates you explicitly list. If your holiday range is from last year, new holidays will not be skipped. Update the holiday list each year, or maintain a multi-year list.
- Including non-date values in the holiday range. If your holiday range contains text headers, blank cells with formulas, or non-date values, NETWORKDAYS may return incorrect results or errors. Keep the holiday range clean with only valid dates.
SheetAI Tip
Don't want to memorize this syntax? With SheetAI, just type what you need in plain English and the formula is generated for you. Install SheetAI to try it free.