Skip to main content
ExcelNETWORKDAYS.INTLDate & TimeProject ManagementBusiness Analytics

The Problem

Are you staring at a spreadsheet, desperately trying to calculate the true number of working days between two dates? Perhaps you're tracking project deadlines, managing employee leave, or trying to invoice clients based on actual labor days. The standard NETWORKDAYS function might fall short when your business operates on a non-traditional schedule, or if you need to account for specific public holidays. The frustration of manually counting days, skipping weekends, and cross-referencing holiday calendars is a common spreadsheet headache. This manual process is not only time-consuming but also highly prone to errors, leading to incorrect project timelines or billing discrepancies.

What is NETWORKDAYS.INTL? NETWORKDAYS.INTL is an Excel function that calculates the number of whole working days between two dates, allowing you to specify which days of the week are considered weekends and which dates are holidays. It is commonly used to accurately track project timelines, employee attendance, and service level agreements (SLAs). This powerful function provides the flexibility you need to precisely define your working week and exclude non-working days. Mastering NETWORKDAYS.INTL is key to more accurate and automated scheduling in Excel.

Business Context & Real-World Use Case

In project management, finance, or human resources, accurately calculating business days is not just a convenience; it's a critical operational necessity. Imagine a global software development firm with teams in multiple countries. Each region might observe different weekend schedules (e.g., Saturday-Sunday in some, Friday-Saturday in others) and a unique set of public holidays. Without a robust tool, calculating project durations, resource availability, or service level agreement (SLA) compliance across these diverse regions becomes a logistical nightmare.

Manually adjusting for these variances is a recipe for disaster. Project managers would spend countless hours cross-referencing calendars, risking missed deadlines, over-billing, or under-resourcing projects due to inaccurate day counts. In my years as a data analyst, I've seen teams waste entire days trying to reconcile project timelines manually, leading to significant delays and client dissatisfaction. Such manual processes introduce human error, making it difficult to maintain consistency and auditability in critical business calculations.

Automating this process with NETWORKDAYS.INTL provides immense business value. It ensures consistent, accurate calculations, freeing up valuable staff time for more strategic tasks. For instance, a finance department can precisely calculate the interest accrual period, excluding non-business days, or accurately bill clients based on the exact number of consulting days, even if their operational calendar differs. This precision improves financial reporting, project forecasting, and client trust, directly impacting the bottom line. Leveraging NETWORKDAYS.INTL means you can confidently manage complex global schedules with ease.

The Ingredients: Understanding NETWORKDAYS.INTL's Setup

The NETWORKDAYS.INTL function is your go-to tool for calculating net working days with custom weekend definitions. It offers significantly more flexibility than its predecessor, NETWORKDAYS, by allowing you to specify exactly which days constitute a weekend. This is particularly useful for businesses operating on varied schedules, like those in the service industry or international firms.

The syntax for NETWORKDAYS.INTL is straightforward:

=NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])

Let's break down each parameter with clear descriptions:

Parameter Description Example
start_date The first date of the period you want to evaluate. This date is included in the calculation if it is a working day. Can be a cell reference, a date serial number, or a date function like DATE(). A2 or DATE(2023,1,1)
end_date The last date of the period you want to evaluate. This date is also included in the calculation if it is a working day. Similar to start_date, it can be a cell reference, date serial number, or a date function. B2 or DATE(2023,1,31)
[weekend] [Optional] A number or string that specifies which days are weekend days. If omitted, the default is 1 (Saturday and Sunday). This is where NETWORKDAYS.INTL truly shines. 1 (Sat/Sun), 2 (Sun/Mon), 7 (Sat only), "0000011" (Sat/Sun)
[holidays] [Optional] A range of one or more dates to be excluded from the working day count. These typically represent public holidays. This argument can be a cell range, an array constant of dates, or a reference to a named range. C2:C10 or {"2023-01-01", "2023-01-16"}

The [weekend] parameter is incredibly versatile. You can use numeric codes (1-17) or a 7-character binary string. For instance, 1 means Saturday and Sunday are weekends. 7 means only Saturday is a weekend. If your team works weekends but takes Mondays off, you might use 3 (Monday and Tuesday). Or, if using a custom binary string, "0000011" signifies Saturday and Sunday as non-working days (the first digit is Monday). This level of control makes NETWORKDAYS.INTL an indispensable function.

The Recipe: Step-by-Step Instructions

Let's illustrate the power of NETWORKDAYS.INTL with a practical example. Imagine you're a project manager tracking a crucial software release. The project starts on January 10, 2024, and is due on February 20, 2024. Your team, however, observes a special schedule where only Sundays are weekends, and they have a few specific public holidays. You need to calculate the exact number of working days available.

Here's our sample data setup in Excel:

Cell Value Description
A1 Start Date
A2 2024-01-10 Project Start Date
B1 End Date
B2 2024-02-20 Project End Date
C1 Holidays
C2 2024-01-01 New Year's Day (already passed, but for example)
C3 2024-01-15 Martin Luther King, Jr. Day
C4 2024-02-19 Presidents' Day

Now, let's calculate the net working days using NETWORKDAYS.INTL step-by-step:

  1. Select Your Output Cell: Click on cell D2, where you want the result of your calculation to appear. This is where your NETWORKDAYS.INTL formula will reside.

  2. Start the Formula: Begin by typing =NETWORKDAYS.INTL(. Excel will prompt you with the syntax, guiding you through the parameters.

  3. Specify the Start Date: Click on cell A2 (which contains 2024-01-10) to enter it as the start_date argument. Then, type a comma (,) to move to the next parameter. Your formula should look like: =NETWORKDAYS.INTL(A2,

  4. Specify the End Date: Click on cell B2 (which contains 2024-02-20) to enter it as the end_date argument. Type another comma (,) to prepare for the weekend parameter. The formula is now: =NETWORKDAYS.INTL(A2,B2,

  5. Define Your Custom Weekend: Since your team considers only Sunday as a weekend, you'll use the weekend code 11. This code specifically designates Sunday as the sole non-working day. Type 11 followed by a comma (,). Your formula should now be: =NETWORKDAYS.INTL(A2,B2,11,

  6. Include Your Holidays: Select the range of cells that contain your holiday dates. In this example, click and drag from C2 to C4 (C2:C4). This range will be the holidays argument.

  7. Close the Formula: Finally, close the parenthesis ) to complete the NETWORKDAYS.INTL function.

The final working formula you will enter into cell D2 is:

=NETWORKDAYS.INTL(A2,B2,11,C2:C4)

After pressing Enter, cell D2 will display 31. This result indicates that there are 31 working days between January 10, 2024, and February 20, 2024, considering only Sundays as weekends and excluding the specified holidays. This precise calculation using NETWORKDAYS.INTL ensures you have the exact number of active project days, accounting for your unique operational calendar.

Pro Tips: Level Up Your Skills

Harnessing the full potential of NETWORKDAYS.INTL goes beyond basic calculations. Experienced Excel users prefer dynamic and adaptable solutions, especially when dealing with complex scheduling requirements.

One essential best practice is to calculate actual business days elapsed for billing client projects operating in different geographic regions. This ensures invoices accurately reflect the work performed, respecting local holidays and weekend customs. For example, a project team in the Middle East might use a weekend code of 7 (Saturday only), while a European team uses 1 (Saturday-Sunday).

Here are a few more expert tips:

  • Dynamic Holiday Lists: Instead of manually updating the holidays range, consider creating a named range (e.g., GlobalHolidays) for your common holiday list. This makes your formulas cleaner and easier to manage. You can also use Excel Tables for holidays, which automatically expand as you add new dates, ensuring your NETWORKDAYS.INTL formulas always refer to the complete list.
  • Combining with IF Statements: For complex scenarios, you might combine NETWORKDAYS.INTL with IF statements. For instance, if you need to calculate different working days based on project type or client, an IF statement can dynamically select the appropriate weekend code or holidays range. This adds a layer of intelligence and automation to your calculations.
  • Negative Results for Past Dates: If your start_date is later than your end_date, NETWORKDAYS.INTL will return a negative number. This can be useful for calculating days remaining to a past deadline or identifying elapsed days in reverse. Be mindful of the order of your dates to ensure you get the expected positive or negative result.

Troubleshooting: Common Errors & Fixes

Even the most seasoned Excel chefs occasionally encounter hiccups. When working with NETWORKDAYS.INTL, certain errors can pop up. Understanding these common pitfalls and their solutions will save you a great deal of time and frustration.

1. #VALUE! Error (Invalid Date Strings)

  • Symptom: You see #VALUE! displayed in the cell where your NETWORKDAYS.INTL formula resides.
  • Cause: This is perhaps the most common error when dealing with date functions. The #VALUE! error often indicates that one or more of your date arguments (start_date, end_date, or holidays) are not recognized by Excel as valid dates. This could be due to:
    • Text Dates: Dates entered as text (e.g., "Jan 10, 2024" which Excel might not parse correctly, or dates stored as text from an import).
    • Invalid Date Format: Dates that don't conform to Excel's regional date settings.
    • Empty Cells: A cell referenced in your date arguments is truly empty or contains non-numeric text that isn't a recognizable date.
  • Step-by-Step Fix:
    1. Check Date Formatting: Select the cells containing your start_date, end_date, and holidays. Go to the Home tab, then in the Number group, ensure the format is Date or General. If it's Text, change it to Date.
    2. Convert Text to Dates: If dates are stubbornly stored as text, you can convert them.
      • Method 1 (Text to Columns): Select the column of text dates, go to Data > Text to Columns, click Next twice, then select Date in the Column data format section, choosing the correct format (e.g., MDY).
      • Method 2 (DATEVALUE function): Use a helper column with =DATEVALUE(A2) to convert the text date in A2 to a serial number, then reference this helper column in your NETWORKDAYS.INTL formula.
    3. Ensure Valid Dates: Double-check that the dates themselves are valid (e.g., "February 30" is not a valid date). Ensure no leading or trailing spaces are present in your date cells, as these can cause Excel to treat the entry as text. You can use TRIM() on the date cells if you suspect this.

2. #NUM! Error

  • Symptom: Your NETWORKDAYS.INTL formula returns #NUM!.
  • Cause: The weekend argument is an invalid number. You might have typed a number outside the allowed range (1-17) or used a binary string that isn't exactly 7 characters or contains invalid characters (must be 0s and 1s).
  • Step-by-Step Fix:
    1. Verify Weekend Code: Review the [weekend] parameter in your formula. Ensure it's a valid number between 1 and 17, or a 7-character string consisting only of '0's and '1's.
    2. Refer to Documentation: If unsure, consult Excel's help documentation for the NETWORKDAYS.INTL function to see the complete list of valid weekend codes. For example, 1 for Saturday/Sunday, 2 for Sunday/Monday, 11 for Sunday only, 17 for Friday only, and so on.

3. Incorrect Count (Holidays Not Excluded)

  • Symptom: The NETWORKDAYS.INTL function returns a number that seems too high, and you suspect that your specified holidays aren't being excluded.
  • Cause: The holidays argument is incorrectly referenced or contains invalid dates. This often happens if:
    • The range specified for holidays is empty.
    • The cells within the holidays range contain text that Excel cannot interpret as dates (leading back to the #VALUE! issue, but without the error explicitly showing in the NETWORKDAYS.INTL cell itself if the other date arguments are fine).
    • The holidays range inadvertently includes header rows or other non-date data.
  • Step-by-Step Fix:
    1. Inspect Holiday Range: Carefully examine the cell range you've specified for the holidays argument (e.g., C2:C10). Ensure every cell within this range contains a valid Excel date.
    2. Check Date Formatting in Holiday Range: Just like with start_date and end_date, confirm that the cells in your holidays range are formatted as Date and contain actual date values, not text strings that look like dates.
    3. Exclude Non-Date Cells: If your holiday range includes non-date values (like headers or blank cells), adjust the range to include only valid date entries. It's often best practice to keep your holiday list in a separate, dedicated column or sheet.

Quick Reference

  • Syntax: =NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])
  • Most Common Use Case: Calculating the number of working days between two dates, taking into account custom weekend schedules (e.g., Monday-Friday, Saturday-Sunday, Sunday only) and specific public holidays. Ideal for project management, billing, and HR leave tracking.

Related Functions

👨‍💻

Written by The Head Chef

Former 10-year Financial Analyst who survived countless month-end closes. I build these recipes to save you from weekend-ruining spreadsheet errors.

Read the full story →

You might also find these useful 💡