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)+1Adding 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.