EOMONTH

Returns the last day of the month a given number of months from a date.

Syntax

EOMONTH(start_date, months)

Date & Time.

Practise EOMONTH1 interactive exercise, free, no account needed

A worked example

=EOMONTH(B2,1)

Returns Oct 31, 2026 for an invoice dated Sep 14, 2026

Moves one month forward and lands on the last day of that month, whatever its length.

Where it goes wrong

Zero months is the end of the same month, one is the end of the next. Adding 30 days instead never lands on a month end by design and drifts by a day or two every month.

What the exercises catch

Each of these is a wrong turn the practice exercises recognise and name. They are the misconceptions, not the answers.

  • Thirty days after 14 September is 14 October, which is not a month end at all. The terms say the last day of the following month, and months are not all thirty days long — you need a function that knows the calendar.Find month-end due dates with EOMONTH
  • Zero months gives the end of the invoice's own month, 30 September. The terms are the month after, so the second argument needs to move one month forward.Find month-end due dates with EOMONTH

Practise EOMONTH

Knowing what a function does and being able to write it from memory are different skills. These close the gap.

All EOMONTH practice exercises →

Who practises EOMONTH

Learn these first