Last Business Day of the Month

Excel Formulas › Date & Time

All versionsEOMONTHWORKDAY

Month-end reporting rarely lands on a weekend. WORKDAY combined with EOMONTH gives you the last business day of any month — and skips holidays too.


Quick formula: for any date in A2:
=WORKDAY(EOMONTH(A2,0)+1, -1, holidays)
EOMONTH finds the calendar month-end; +1 steps to the 1st of next month; WORKDAY(…,−1) walks back to the last working day.

Functions used (tap for the full reference guide):

The example

The last business day for several 2026 months (no holidays).

AB
1Month ofLast business day
2May 2026Fri 5/29/2026
3Aug 2026Mon 8/31/2026
4Oct 2026Fri 10/30/2026

The formula

Last working day of the month containing A2:

=WORKDAY(EOMONTH(A2,0)+1, -1) // May 2026 → Fri 5/29 (31st is a Sunday)

How it works

Two functions cooperate:

  1. EOMONTH(A2, 0) returns the last calendar day of A2’s month.
  2. Adding 1 moves to the 1st of the next month.
  3. WORKDAY(thatDate, -1) steps one working day backward, landing on the last business day — skipping any weekend.
  4. Pass a holidays range as WORKDAY’s 3rd argument to skip those too: =WORKDAY(EOMONTH(A2,0)+1, -1, D2:D5).

First business day is the mirror image: =WORKDAY(EOMONTH(A2,-1), 1, holidays) — start at last month’s end and step one working day forward.

Try it: interactive demo

Live demo

Pick any date; see its month's last business day.

Last business day:

Variations

First business day

Mirror the logic forward:

=WORKDAY(EOMONTH(A2,-1), 1)

Skip holidays too

Add a holidays range:

=WORKDAY(EOMONTH(A2,0)+1, -1, D2:D5)

Last calendar day

If weekends don’t matter:

=EOMONTH(A2, 0)

Pitfalls & errors

Don’t forget the +1. WORKDAY counts from its start without including it, so you step to the 1st of next month, then back one working day. Skipping the +1 lands a day early.

Custom weekends need WORKDAY.INTL with a weekend code — plain WORKDAY always treats Sat/Sun as the weekend.

Format the result as a date. WORKDAY returns a serial number; if the cell shows a number like 46176, apply a date format.

Practice workbook

📊
Download the free Last Business Day of the Month practice workbook
A month-end business-day calculator with the first-business-day and holiday variants, plus 4 challenges with answers. No sign-up required.

Frequently asked questions

How do I find the last business day of the month in Excel?
Use =WORKDAY(EOMONTH(A2,0)+1, -1). EOMONTH finds the calendar month-end, +1 steps to next month, and WORKDAY(...,-1) walks back to the last working day.
How do I exclude holidays?
Add a holidays range as WORKDAY's third argument: =WORKDAY(EOMONTH(A2,0)+1, -1, D2:D5).
How do I get the first business day instead?
Use =WORKDAY(EOMONTH(A2,-1), 1) — start at the prior month-end and step one working day forward.

Stop fighting formulas. Learn them in a day.

This recipe is one of hundreds of real-world formulas we teach. Our Excel Formulas & Functions class covers lookups, logic, text, and dynamic arrays hands-on — live in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.

See the Formulas & Functions Class

Related formulas: First & last day of month · Working days (holidays) · Next weekday

Function references: EOMONTH · WORKDAY