How to Calculate Business Days Between Two Dates in Excel

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 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.

The Scenario

You’re tracking project deadlines and need to know how many working days remain for each task:

ABCD
1TaskStart DateDue DateBusiness Days
2Design Review3/3/20253/14/202510
3Client Feedback3/14/20253/21/20256
4Development3/17/20254/4/202515

The formula in D2:

=NETWORKDAYS(B2, C2)

March 3 to March 14, 2025 = 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:

AB
1HolidayDate
2New Year’s Day1/1/2025
3Memorial Day5/26/2025
4Independence Day7/4/2025
5Labor Day9/1/2025
6Thanksgiving11/27/2025
7Christmas12/25/2025

Then reference the holiday dates in NETWORKDAYS:

=NETWORKDAYS(B2, C2, Holidays!B2:B7)

Excludes both weekends AND any dates in the holiday list. 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.

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.

Start a Project

Scroll to Top