10.2 Business Date Calculations: WORKDAY, NETWORKDAYS, EDATE, & EOMONTH
Key Takeaways
- Excel stores dates as continuous integer serial numbers where day 1 represents January 1, 1900, while times are stored as fractional decimals of a 24-hour day (e.g., 0.25 represents 6:00 AM and 0.5 represents 12:00 PM).
- WORKDAY advances or regresses a start date by a specified count of business days excluding standard weekends (Saturday/Sunday) and optional holidays, whereas WORKDAY.INTL supports customizable weekend schedules via numeric codes or 7-character binary strings.
- NETWORKDAYS and NETWORKDAYS.INTL calculate the total number of whole working days between two dates inclusively, counting both the start date and the end date if they fall on working days.
- EDATE calculates the exact same calendar day N months in the future or past, automatically adjusting to the final day of shorter months to prevent invalid date errors.
- EOMONTH computes the exact last calendar day of the month offset by N months (where 0 targets the current month-end), serving as an indispensable tool for financial accounting accruals, loan amortization schedules, and revenue cutoffs.
Business Date Calculations: WORKDAY, NETWORKDAYS, EDATE, & EOMONTH
Once a date is anchored and classified, the exam moves to date arithmetic: stepping a milestone forward through business days, counting the working days inside a window, and pinning accounting cutoffs to month boundaries. Four function families carry that load — WORKDAY/WORKDAY.INTL, NETWORKDAYS/NETWORKDAYS.INTL, EDATE, and EOMONTH — and each returns a raw date serial that you are expected to format correctly.
Project Scheduling: WORKDAY vs. WORKDAY.INTL
Standard calendar addition (start_date + days) fails when project tasks must account for non-working weekends and official organization holidays. The WORKDAY family calculates milestone dates by stepping forward or backward exclusively through business days.
1. Standard WORKDAY Syntax
=WORKDAY(start_date, days, [holidays])
start_date: A valid Excel date serial number or cell reference representing the initial milestone.days: The number of non-weekend, non-holiday days to advance (positive integer) or regress (negative integer).[holidays]: An optional contiguous range, array constant, or named range containing serial dates to exclude from the count.
WORKDAY assumes a rigid, Western five-day workweek where Saturday and Sunday are always treated as non-working days. If a task begins on a Friday and requires 1 working day, =WORKDAY(Friday, 1) skips Saturday and Sunday, returning Monday.
2. WORKDAY.INTL for Global Schedules
Global organizations, shift-based operations, and regional markets frequently operate under non-standard workweeks. The WORKDAY.INTL function introduces a customizable [weekend] argument:
=WORKDAY.INTL(start_date, days, [weekend], [holidays])
Custom Weekend Configuration: Numeric Codes vs. Binary Strings
The [weekend] argument in WORKDAY.INTL (and NETWORKDAYS.INTL) accepts two distinct formatting methodologies: Numeric Identifiers and 7-Character Binary Strings.
Numeric Weekend Identifiers
Excel provides standardized numeric codes representing common one-day and two-day weekend configurations:
| Weekend Code | Non-Working Days (Weekend) | Operational Context |
|---|---|---|
1 (or omitted) | Saturday, Sunday | Standard Western business workweek |
2 | Sunday, Monday | Hospitality, retail, and post-weekend recovery |
3 | Monday, Tuesday | Service industries and specialized trade rotations |
4 | Tuesday, Wednesday | Shift schedules |
5 | Wednesday, Thursday | Shift schedules |
6 | Thursday, Friday | Regional Middle East public sector schedules |
7 | Friday, Saturday | Traditional Middle East commercial workweek |
11 | Sunday only | Six-day manufacturing and international retail |
12 | Monday only | Tuesday–Sunday operational schedules |
13 | Tuesday only | Wednesday–Monday schedules |
14 | Wednesday only | Thursday–Tuesday schedules |
15 | Thursday only | Friday–Wednesday schedules |
16 | Friday only | Saturday–Thursday schedules |
17 | Saturday only | Sunday–Friday commercial schedules |
7-Character Binary Weekend Strings
When operational teams utilize unconventional non-working days (such as Wednesday and Sunday off), numeric codes cannot fulfill the requirement. Candidates can pass a 7-character text string enclosed in double quotation marks.
- Each position represents a day of the week, strictly ordered from Monday through Sunday:
MTWTFSS. - A value of
1designates a non-working day (weekend/off). - A value of
0designates a working day.
Character Position: 1 2 3 4 5 6 7
Day of Week: Mon Tue Wed Thu Fri Sat Sun
"0000011" 0 0 0 0 0 1 1 --> Sat & Sun Off (Standard)
"1000000" 1 0 0 0 0 0 0 --> Mon Off Only
"0000110" 0 0 0 0 1 1 0 --> Fri & Sat Off
"1010100" 1 0 1 0 1 0 0 --> Mon, Wed, Fri Off
[!WARNING] An invalid binary string consisting entirely of ones (
"1111111") indicates zero working days in a week and causes Excel to immediately return a#VALUE!error.
Workday Interval Calculations: NETWORKDAYS & NETWORKDAYS.INTL
While WORKDAY calculates a future or past date based on a day offset, NETWORKDAYS performs the inverse calculation: it counts the total number of whole business days between two dates.
=NETWORKDAYS(start_date, end_date, [holidays])
=NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])
The Inclusive Boundary Rule
A critical architectural feature tested heavily on MO-211 is inclusive boundary counting. If start_date and end_date fall on the same working day (e.g., Wednesday, October 7 to Wednesday, October 7), NETWORKDAYS returns 1. Standard calendar subtraction (end_date - start_date) returns 0.
If start_date occurs after end_date, NETWORKDAYS returns a negative integer, accurately representing negative elapsed working time.
=NETWORKDAYS(DATE(2026, 10, 5), DATE(2026, 10, 9)) // Returns 5 (Mon to Fri inclusive)
=NETWORKDAYS.INTL(DATE(2026, 10, 5), DATE(2026, 10, 9), 7) // Returns 4 (Mon, Tue, Wed, Thu; Fri is off)
Milestone & Cutoff Modeling: EDATE & EOMONTH
Financial contracts, debt maturity schedules, insurance policies, and subscription billing cycles typically recur on monthly or quarterly cycles rather than working-day increments.
1. EDATE: Preserving Calendar Day Coordinates
The EDATE function calculates the exact same calendar day $N$ months in the future or past:
=EDATE(start_date, months)
months: The number of months to advance (positive) or regress (negative).
If a loan originates on January 15, 2026, =EDATE(A2, 6) returns July 15, 2026. If the target month has fewer days than the starting day (for instance, January 31 advanced by 1 month), EDATE automatically adjusts downward to the valid terminal day of that month (February 28, or February 29 in leap years), preventing invalid date errors.
2. EOMONTH: Calculating Accounting Cutoff Dates
Accounting accruals, depreciation tables, and tax reporting require anchoring calculations to the final calendar day of a month. The EOMONTH function returns the date serial number for the last day of the month offset by $N$ months:
=EOMONTH(start_date, months)
| Formula Configuration | Evaluation Target | Financial Modeling Application |
|---|---|---|
=EOMONTH(A2, 0) | Last day of the current month | Current period accrual cutoffs and closing adjustments |
=EOMONTH(A2, 1) | Last day of the following month | Net-30 payment due dates anchored to next month-end |
=EOMONTH(A2, -1) | Last day of the prior month | Balance sheet opening balances and prior-period reconciliations |
=EOMONTH(A2, -1) + 1 | First day of the current month | Dynamic generation of period starting dates |
High-Frequency MO-211 Exam Scenarios & Traps
- The General Number Format Trap: Functions such as
EDATE,EOMONTH, andWORKDAYreturn raw date serial numbers (e.g.,46207). If the target cell is formatted as General, the cell displays a five-digit number. Candidates must apply a Short Date or Long Date number format to satisfy project grading rubrics. - String Date Literals: Entering text dates directly into formulas (e.g.,
=WORKDAY("10/05/2026", 10)) introduces regional parsing failures if the grading environment usesDD/MM/YYYYinstead ofMM/DD/YYYY. Always build dates using theDATE(year, month, day)function. - Duplicate Holiday Deduction: If an optional holiday listed in
[holidays]coincides with a natural weekend day (e.g., a holiday falling on a Saturday), Excel does not deduct the day twice. The algorithm discounts each unique non-working day exactly once. - Binary Weekend Alignment: The first character in a binary weekend string is always Monday, and the seventh character is always Sunday. Inverting the string or omitting characters causes miscalculations or syntax errors.
An operations manager in Dubai coordinates a construction project where the standard workweek runs from Sunday through Thursday (Friday and Saturday are non-working weekend days). The project begins on Monday, October 5, 2026, requires 15 working days, and observes a public holiday on Thursday, October 15, 2026 (stored in cell H1). Which formula correctly calculates the completion date?
A project timeline records a start date of Monday, November 2, 2026 (cell B2) and a target completion date of Friday, November 6, 2026 (cell C2). No holidays occur during this week. What integer does the formula =NETWORKDAYS(B2, C2) return, and what operational rule governs this result?
An accounting model must compute the final day of the prior calendar quarter for a transaction dated May 18, 2026 (cell A2). Which formula correctly returns March 31, 2026 as a date serial number?