Excel EOMONTH Function
EOMONTH returns the final calendar day of a month before or after a starting date.
Use it for month-end reporting, billing cutoffs, accounting periods, aging schedules, and criteria that must follow calendar month boundaries.
EOMONTH syntax & arguments
Syntax
=EOMONTH(start_date, months)
-
1
start_date
RequiredThe starting date whose month anchors the calculation. This should be a real Excel date value, cell reference, or formula result.
-
2
months
RequiredThe number of whole months to move before returning the month-end date. Positive values move forward, negative values move backward, and zero uses the start date's month.
Example
=EOMONTH(B2, 0)
Return the final calendar day of the month containing the date in B2.
EOMONTH caveats
-
Zero still changes the day
=EOMONTH(B2,0)returns the final day of B2's month, not the original date unless B2 is already month-end. -
Month offsets are truncated
If
monthsis not an integer, Excel discards its decimal portion before moving to the target month. -
The start value should be a real date
Use a date cell, date serial number, or a value built with DATE rather than ambiguous date text.
-
The result may look like a number
EOMONTH returns an Excel date serial. Apply a date number format when the cell displays the underlying serial instead of a calendar date.
Need to preserve the day number? Use EDATE when a renewal or anniversary should move by whole months without always landing at month-end.
Intro EOMONTH practice problem
Solve the intro problem directly here, or open it on its own page.
Advanced EOMONTH practice problems
Use EOMONTH alongside other Excel functions in realistic, less-prescriptive challenges.
No advanced EOMONTH problems are currently available.