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.

1
Start with a date and offset Use zero, positive, or negative months
2
Move to the target month The starting day number does not matter
3
Return its final day Month length and leap years are handled

EOMONTH syntax & arguments

Syntax

=EOMONTH(start_date, months)
Required Optional
  1. 1

    start_date

    Required

    The starting date whose month anchors the calculation. This should be a real Excel date value, cell reference, or formula result.

  2. 2

    months

    Required

    The 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 months is 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.

Open full problem

Advanced EOMONTH practice problems

Use EOMONTH alongside other Excel functions in realistic, less-prescriptive challenges.

No advanced EOMONTH problems are currently available.