How to Count Working Days Between Two Dates
Counting working days requires excluding weekends and holidays from a date range. This guide explains the manual counting method, how to use spreadsheet functions, and how to handle holidays and regional calendar differences.
Understanding Working Days vs. Calendar Days
A calendar day includes every day of the week: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, and Sunday. A working day (also called a business day) excludes weekends and public holidays, covering only the days when most businesses operate.
The distinction matters for any calculation tied to operational activities. A delivery estimated in 5 working days from a Friday will arrive the following Friday, not the following Wednesday. A legal notice requiring 10 working days will take at least two full calendar weeks, longer if any holidays fall within that period.
Before counting working days, you need to know two things: the start and end dates of the period you are analyzing, and the list of public holidays that fall within that period. Without the holiday list, you may overcount working days by including days when offices are closed.
Step 1 – List All Calendar Days in the Range
Begin by identifying every calendar day from the start date to the end date. You can do this on paper, in a spreadsheet, or using a calendar. For short periods of a week or two, listing the days manually is practical. For longer periods spanning months, a spreadsheet is more efficient.
Include both the start date and the end date in your list. For a period from Monday, February 16 to Friday, February 20, the list is: February 16, 17, 18, 19, 20. That is 5 calendar days and, if no holidays fall in this range, 5 working days as well.
When the period is long, organize the list by week to make it easier to identify and remove weekends. A week with Monday through Sunday gives you 5 working days (Monday through Friday) to start with, and then you subtract any holidays that fall within that week.
Step 2 – Remove Weekends
From your list of calendar days, remove every Saturday and every Sunday. For most weekly schedules, this removes 2 out of every 7 days. A period of 28 calendar days contains 4 complete weeks, which means removing 8 Saturdays and 8 Sundays leaves 20 working days before accounting for holidays.
Partial weeks at the beginning or end of your range require careful handling. If your range starts on a Wednesday and ends on the following Tuesday, the calendar days are Wednesday, Thursday, Friday, Saturday, Sunday, Monday, Tuesday — 7 calendar days. After removing Saturday and Sunday, you have 5 working days.
It helps to use a day-of-week reference when removing weekends. In a spreadsheet, the WEEKDAY function returns a number for each day of the week, making it easy to filter out Saturdays (value 7) and Sundays (value 1) automatically from a list of dates.
Step 3 – Remove Public Holidays
After removing weekends, check whether any public holidays fall within your date range. Cross-reference each holiday date against your remaining list of weekdays and remove any matches. Public holidays that fall on weekends may be observed on an adjacent weekday, so check for observed dates as well as actual dates.
The list of applicable holidays depends on your location and industry. In the United States, federal employees observe 11 federal holidays per year, while private employers may observe more or fewer. Some states have additional holidays. For international calculations, each country has its own calendar of public holidays.
After removing both weekends and holidays, count the remaining dates. This count is the number of working days in your range. Verify the result by adding back weekends and holidays to confirm you reach your original total calendar day count.
Using NETWORKDAYS in a Spreadsheet
The NETWORKDAYS function in Excel and Google Sheets automates all three steps. The syntax is NETWORKDAYS(start_date, end_date, holidays), where holidays is an optional range of cells containing holiday dates. The function returns the number of working days between the start and end dates, including both endpoints.
To use the function, enter your start date in one cell (for example, A1) and your end date in another (A2). If you have a list of holidays, enter them in a separate column (for example, C1 through C20). Then enter =NETWORKDAYS(A1, A2, C1:C20) in a result cell. The function handles all the day-of-week and holiday exclusions automatically.
For international work weeks that do not follow the Monday-through-Friday standard, use NETWORKDAYS.INTL instead. This variant lets you specify which days are weekend days using a number code or a string pattern. For a Sunday-through-Thursday work week, use the code 11, which marks Friday and Saturday as weekend days.
