In Excel: use =NETWORKDAYS(start_date, end_date, [holidays]) — it counts the whole working days (Monday to Friday) between two dates, excluding weekends and any holidays you list.
On this page8
Syntax
Arguments
| Argument | required / optional | Description |
|---|---|---|
start_date | required | The first date of the period, counted as day one. |
end_date | required | The last date of the period; it is included in the count. |
holidays | optional | A range of dates to exclude as well, such as public holidays. |
Related functions
Put the start date in one cell and the end date in another, for example A2 and B2.
In the result cell type =NETWORKDAYS( and click the start date, then a comma and the end date.
Press Enter to get the count of weekdays, with Saturdays and Sundays already removed.
To also skip public holidays, list those dates in a column and add it as a third argument: =NETWORKDAYS(A2, B2, D2:D10).
If your weekend is not Saturday/Sunday, switch to NETWORKDAYS.INTL and supply a weekend code.
What this does
NETWORKDAYS counts whole working days between two dates. It includes both the start and end date, automatically skips every Saturday and Sunday, and skips any dates you pass in the optional holidays range as well. It is the standard way to work out delivery times, project durations or how many billable days fall in a period. If your week does not run Monday to Friday — say a Sunday-to-Thursday week — use NETWORKDAYS.INTL, which adds a weekend-pattern argument so you can define which days count as the weekend. Most people learn this as a sequence of clicks and forget it by next week; learning it as a pattern instead is what lets you apply it to the next, slightly different version of the problem without starting from scratch. That is the difference this page is trying to make. For “count workdays between two dates excel”, the reliable version is a short checking loop, not just the first command that appears to work. Run it on a deliberately small range first, watch how the affected cells change, and only then apply the same setup to the full sheet. When a formula is involved, keep the inputs labelled beside it, reference cells instead of typing values, and apply number formatting only after the result checks out. That is what makes a calculation you can defend to a CFO or an auditor useful in real work: repeatable, auditable, and not dependent on memory or luck.
A worked example
A task starts on 01/06/2026 (a Monday) in A2 and is due 12/06/2026 (a Friday) in B2. =NETWORKDAYS(A2, B2) returns 10 — the two full weeks of weekdays, with the weekend of the 6th and 7th excluded. If 05/06/2026 is a public holiday listed in D2, then =NETWORKDAYS(A2, B2, D2) returns 9, dropping that one day too. NETWORKDAYS is the right tool for SLAs, project timelines and billing, where only Monday-to-Friday working days count and weekends and holidays must drop out automatically. Check the referenced cells, argument order and result type in your workbook. Start with the worked example before changing an input, then compare the changed result with the calculation you expected. An error value or a result of a different type is a reason to inspect the inputs and arguments.
In Google Sheets
Google Sheets support for this task has not been verified. Check the function, arguments and workflow in the target product before transferring the example. Matching formula notation does not establish identical behaviour. The aim was to get you unstuck fast and leave you a little more capable than a copy-paste would. The answer is at the top and the detail above shows why it holds — so the next time a colleague asks, you can answer without reaching for search. For “count workdays between two dates excel”, keep the input cells and the result visible while you check the formula in Excel. Follow the worked example and change one input at a time. The steps explain the workbook calculation; this page does not run a live calculator for that task.
Common mistakes
- Expecting the result to exclude the start date —
NETWORKDAYScounts both endpoints, so a Monday-to-Friday span is 5, not 4. - Leaving holidays out and over-counting across public holidays; pass a holiday range as the third argument to drop them.
- Using
NETWORKDAYSfor a non-Monday-to-Friday week — it always treats Saturday and Sunday as the weekend, so use NETWORKDAYS.INTL for other patterns.
Frequently asked questions
Does NETWORKDAYS include the start and end dates?
Yes, both are counted if they fall on a weekday. A period from Monday to Friday returns 5 because every day in the inclusive range is a working day.
How do I exclude public holidays?
List the holiday dates in a column and pass that range as the third argument: =NETWORKDAYS(A2, B2, D2:D10). Any of those dates that fall on a weekday are removed from the count.
How do I count working days with a different weekend?
Use NETWORKDAYS.INTL, which takes a weekend argument — a code or a 7-character pattern — so you can define, for example, a Friday/Saturday weekend instead of Saturday/Sunday.