Main content

Excel EOMONTH: Last Day of the Month

By Szabó Gergő · Updated

EOMONTH returns the last calendar day of a month offset from a start date. Offset 0 is this month. Offset -1 is last month.

Syntax and arguments

=EOMONTH(start_date, months)
start_date
Any date in the starting month.
months
How many months to move. Negative goes backward.

EOMONTH examples

01
This month end

Today.

=EOMONTH(TODAY(),0)

Last day of the current month.

02
Last month end

Close process.

=EOMONTH(TODAY(),-1)

Used as the end of a previous-month SUMIFS.

03
First of next month

Need the day after month end.

=EOMONTH(TODAY(),0)+1

Adding 1 to month end is the first of the next month.

Common mistakes

  • Expecting the same day number

    EOMONTH always returns the last day, not the same weekday or the same 15th.

  • Text start dates

    Convert with DATE or DATEVALUE first.

  • Using EDATE when you need month end

    EDATE keeps the day number. EOMONTH jumps to the last day.

EOMONTH FAQ

How do I get the first of this month?

=DATE(YEAR(TODAY()),MONTH(TODAY()),1) or =EOMONTH(TODAY(),-1)+1.

Does it include the start date month?

Offset 0 is the month that contains start_date.

Can I use it in SUMIFS?

Yes. Pair DATE(...,1) as start and EOMONTH as end.