Excel WORKDAY Function

Using the Excel WORKDAY Function


The Excel WORKDAY function returns a number that represents a date that is the number of working days before or after a starting date. Working days are defined as any non-weekend and non-holiday dates. The WORKDAY function can be very helpful when calculating days worked, delivery dates, or invoice due dates.


=WORKDAY (start_day, days, [holidays])

Syntax Breakdown

The start_day is a required field that contains a serial number representing the starting date. To avoid issues with dates entered as text, use a function such as DATE when entering the start date. Alternatively, the output from other functions or formulas can also be used.

The start_date date will not be counted as a working day in the calculation.

A required field that indicates the number of non-weekend and non-holiday days before or after start_date. Positive numbers will calculate a future date, while negative numbers will calculate a past date.

Excel WORKDAY Function

An optional argument in the WORKDAY function. If you would like to exclude one or more specific dates from what would normally be a workday it is possible to do that via the holiday argument. You can provide a list as either a range of cells or as an array constant that contains the dates to be excluded as serial numbers. This ability is very useful if known holidays, such as federal holidays, need to be accounted for in a calculation.

Excel WORKDAY with Holiday

Usage Notes

#NUM! Error
Excel stores dates as sequential serial numbers starting with January 1, 1900 (1) and ending with December 31, 9999 (2958465). If start_date plus days returns an invalid date then the #NUM! error will be returned by the function.

Excel WORKDAY #NUM! Error

Non-Integer Days
If a day value is not an integer, then Excel will truncate the figure.

Excel WORKDAY Integer Truncate

Custom Weekend Days
By default, Excel assumes that Saturday and Sunday are weekend days and they will be excluded when using the WORKDAY function. If you need to alter the days of the week that are recognized as weekend days, using the WORKDAY.INTL function will provide this capability.