To count business days between two dates in Excel, use =NETWORKDAYS(start_date, end_date), which excludes Saturdays and Sundays automatically. Add a third argument to also exclude company holidays: =NETWORKDAYS(B2, C2, Holidays!$B$2:$B$7). To work forward instead, WORKDAY returns a due date a given number of business days ahead, and NETWORKDAYS.INTL handles non-standard weekends.
Calculating the number of days between two dates is easy: just subtract them. But when you need business days (excluding weekends) or business days excluding company holidays, you need NETWORKDAYS. This function is essential for project timelines, SLA tracking, payment terms, and employee leave calculations.
The NETWORKDAYS formulas
Business days (excluding weekends only)
=NETWORKDAYS(start_date, end_date)
Business days (excluding weekends AND holidays)
=NETWORKDAYS(start_date, end_date, holidays)
holidays = a range containing your company’s holiday dates.
Example: project start and end dates
You’re tracking project deadlines and need to know how many working days remain for each task:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Task | Start Date | Due Date | Business Days |
| 2 | Design Review | 3/2/2026 | 3/13/2026 | 10 |
| 3 | Client Feedback | 3/13/2026 | 3/20/2026 | 6 |
| 4 | Development | 3/16/2026 | 4/3/2026 | 15 |
The formula in D2:
=NETWORKDAYS(B2, C2)
March 2 to March 13, 2026 = 10 business days (excludes the two weekends in between). Note: NETWORKDAYS counts both the start and end dates.
Adding a Holiday List
Create a list of company holidays on a separate sheet or in a named range:
| A | B | |
|---|---|---|
| 1 | Holiday | Date |
| 2 | New Year’s Day | 1/1/2026 |
| 3 | Memorial Day | 5/25/2026 |
| 4 | Independence Day (observed) | 7/3/2026 |
| 5 | Labor Day | 9/7/2026 |
| 6 | Thanksgiving | 11/26/2026 |
| 7 | Christmas | 12/25/2026 |
Then reference the holiday dates in NETWORKDAYS:
=NETWORKDAYS(B2, C2, Holidays!$B$2:$B$7)
Excludes both weekends AND any dates in the holiday list: 5/18/2026 to 5/29/2026 counts 10 business days without the list and 9 with it, because Memorial Day falls in between. The dollar signs keep the holiday list in place when you fill the formula down; without them, each row below looks one row further down the list and can miss a holiday. Name the range “CompanyHolidays” for cleaner formulas.
Named ranges
Select your holiday dates, go to Formulas → Define Name, and name it “CompanyHolidays”. Then your formula becomes =NETWORKDAYS(B2, C2, CompanyHolidays), much more readable.
Calculating a Due Date from Business Days
Need to find the date that is 15 business days from today? Use WORKDAY:
=WORKDAY(start_date, number_of_days, [holidays])
Example: =WORKDAY(TODAY(), 15, CompanyHolidays) returns the date that is 15 business days from today, skipping weekends and holidays.
Custom Weekends with NETWORKDAYS.INTL
Some businesses work Saturday but not Sunday, or have Friday-Saturday weekends. NETWORKDAYS.INTL lets you define which days are weekends:
=NETWORKDAYS.INTL(B2, C2, "0000011", CompanyHolidays)
The 7-character string represents Mon-Sun. 0 = workday, 1 = weekend. “0000011” means Saturday and Sunday are weekends (default). “0000010” means only Saturday is a weekend.
Common mistake
NETWORKDAYS counts both the start and end dates as working days. If a task starts Monday and ends the same Monday, NETWORKDAYS returns 1, not 0. Account for this when calculating durations vs. deadlines.
Common questions
Does NETWORKDAYS include the start and end dates?
Yes. Both are counted if they fall on working days. A Monday to Friday range returns 5, not 4.
How do I treat only Sunday as the weekend?
Use NETWORKDAYS.INTL with a seven-character mask where 1 means non-working, starting at Monday. "0000001" makes Sunday the only weekend day.
Why does NETWORKDAYS return #VALUE!?
One of the dates is text rather than a real date. Excel cannot do date arithmetic on text, so convert it first with DATEVALUE.
When Formulas Aren’t Enough
NETWORKDAYS handles simple date math, but business scheduling often gets more complex:
- Cascading deadlines: when one task’s completion triggers the next task’s start date
- Resource-aware scheduling: accounting for team member availability, not just calendar days
- SLA tracking with escalation: automatically flagging items approaching or past their business-day deadline
- Multi-timezone projects: business days differ when teams span US and international offices
- Dynamic holiday management: holidays that change each year (Easter, Thanksgiving) need automatic updates
A custom VBA scheduling tool manages cascading deadlines, resource calendars, SLA monitoring, and automatic notifications, keeping every project on track.
“He made a novice like me feel very comfortable with the process. Project delivered quickly and to specification. Excellent communication.”
Stephen W. · Freelancer
Need Automated Scheduling and Deadline Tracking?
Tell us about your project workflow and we’ll build a tool that manages it.
Small fixes start at $69.
Every project gets a fixed-price quote before any work starts: the price you approve is the price you pay.