Business Days in Excel: NETWORKDAYS and NETWORKDAYS.INTL
Working days are not calendar days. A five-day span can contain one business day or five depending on which day it starts, so the number you need cannot come from subtracting two dates.
NETWORKDAYS does the counting for you, including a holiday list and, in its .INTL variant, any working week you like.
The Basic Formula Counts Both End Dates
With a start date in A2 and an end date in B2:
=NETWORKDAYS(A2, B2)
The function returns the number of weekdays from the start date to the end date inclusive. Both endpoints are counted if they are weekdays. This is the opposite convention from plain subtraction, and it is the single biggest source of confusion with this function.
Worked Example: A Week and a Month
Three comparisons, all using September 2026, where the 14th is a Monday:
| Start | End | =B2-A2 | =NETWORKDAYS(A2,B2) |
|---|---|---|---|
| Mon 14 Sep | Fri 18 Sep | 4 | 5 |
| Mon 14 Sep | Mon 21 Sep | 7 | 6 |
| Mon 14 Sep | Tue 13 Oct | 29 | 22 |
The first row is the clearest illustration: Monday to Friday of one week is five working days, but only four days of elapsed time. The second row flips the surprise — a full calendar week contains just six business days, because Saturday and Sunday are removed.
The third row is the sort of span a contract would quote. Thirty calendar days from Monday 14 September reaches Tuesday 13 October and contains twenty-two business days, since four weekends fall inside it. If you had quoted the calendar figure of 30, you would have promised about eight days more work than the calendar actually allows.
Excluding Public Holidays
Add a third argument holding the holiday dates:
=NETWORKDAYS(A2, B2, $F$2:$F$20)
Two details matter. The holiday range must contain real dates, not text, or the entries are ignored silently. And a holiday that falls on a Saturday or Sunday changes nothing, because weekends are already excluded — it is not subtracted twice.
Keeping the holiday list in one place and referencing it from every formula means next year's public holidays are a single edit rather than a search through the workbook.
Custom Working Weeks With NETWORKDAYS.INTL
Available from Excel 2010 onward, NETWORKDAYS.INTL takes a weekend argument before the holiday list:
=NETWORKDAYS.INTL(A2, B2, 7, $F$2:$F$20)
The weekend argument accepts either a code number or a seven-character string. The codes worth knowing:
| Code | Weekend days |
|---|---|
| 1 or omitted | Saturday and Sunday |
| 2 | Sunday and Monday |
| 7 | Friday and Saturday |
| 11 | Sunday only |
| "0000011" | Saturday and Sunday, written explicitly |
The string form is clearer in a shared workbook than a bare number, because the seven characters read from Monday to Sunday and anyone can see which days are being excluded without looking up a code table.
The Reverse Question: A Date Ten Working Days Away
When the number of working days is known and the date is not, use WORKDAY instead:
=WORKDAY(A2, 10, $F$2:$F$20)
This returns the date that falls ten working days after the start date, skipping weekends and the listed holidays. There is a WORKDAY.INTL variant with the same weekend-code argument when the working week is not Monday to Friday.
The pair NETWORKDAYS and WORKDAY cover both directions of the same problem, and mixing them up is easy: NETWORKDAYS returns a count of days, WORKDAY returns a date.
Common Mistakes With Business Day Formulas
- Measuring a deadline with
=B2-A2and quoting the calendar total. It can overstate the available time by roughly two days per week. - Assuming NETWORKDAYS excludes the start date. It does not — both ends are counted when they are weekdays.
- Entering holidays as text such as "25 Dec" rather than a real date. The argument is accepted and quietly ignored.
- Using weekend code 1 for a working week that actually runs Sunday to Thursday, which understates the count.
- Forgetting that a holiday falling on a weekend is already excluded, so it must not be subtracted again by hand.
- Applying the formula across a row without locking the holiday range with dollar signs, so the reference slides off the list.
When the Working Week Is Not Monday to Friday
Business day is a local convention rather than a fixed rule. In much of the Middle East the working week runs Sunday to Thursday, and parts of Asia and the Gulf use other combinations. Since 2022 several Gulf states have moved to a Friday-to-Sunday weekend, which sits between the two older conventions.
That variability is exactly why the weekend argument exists. Rather than hard-coding Monday-to-Friday into your own arithmetic, set the weekend code and let the function handle it — and note the assumption in the sheet, because the person opening it next year will not remember which convention you chose.
If you only need a quick human-readable count of weekdays without a spreadsheet, the business days between dates guide covers the rule in plain language.
Get the raw calendar total first, then subtract weekends and holidays as needed.
Open the Date Duration Calculator →Frequently Asked Questions
Does NETWORKDAYS include the start and end dates?
Yes, both ends are included when they fall on weekdays. That is why Monday to Friday returns 5 rather than the 4 you get from subtracting the dates.
How do I exclude public holidays?
Add the holiday dates as the third argument, for example NETWORKDAYS with a range such as $F$2:$F$20. The range must contain real dates, otherwise the entries are ignored.
What if a holiday falls on a weekend?
Nothing changes. Weekends are already excluded, so a holiday on a Saturday or Sunday is not counted twice and does not reduce the total further.
Which weekend code should I use?
Code 1 or omitted means Saturday and Sunday, code 2 means Sunday and Monday, code 7 means Friday and Saturday, and code 11 means Sunday only.
How do I find a date N working days from now?
Use WORKDAY with the number of working days and, optionally, a holiday range. It returns a date, where NETWORKDAYS returns a count.
Why is my business day count different from the calendar total?
Because weekends are removed. Every full week of a span loses two days, so a thirty-day window typically contains about twenty-two business days.
Does NETWORKDAYS work in Google Sheets?
Yes, Sheets provides NETWORKDAYS with the same behaviour and its own help documentation. The weekend-code variant is also available.
Can I count only Sundays as non-working?
Yes. Use NETWORKDAYS.INTL with weekend code 11 to treat Sunday as the only weekend day, which suits working weeks that run Monday to Saturday.
Is a business day exactly eight hours?
No. These functions count calendar days, not hours. Two business days can represent very different amounts of work depending on shift patterns.
Are the dates I enter on this site kept private?
Yes. Everything runs in your browser — nothing is sent to a server and nothing is saved.
Sources
- Microsoft Support: NETWORKDAYS function
- Microsoft Support: NETWORKDAYS.INTL function
- Wikipedia: Working time