← All comparisons

EDATE vs EOMONTH: same-day or month-end

Both jump a date by whole months; they differ in where they land. EDATE keeps the day-of-month (the 15th stays the 15th); EOMONTH always lands on the month's LAST day. Between them they express nearly every recurring-date rule.

The differences at a glance

EDATEEOMONTH
Jan 15 + 1 monthFeb 15Feb 28 (end of the target month)
Jan 31 + 1 monthFeb 28 (clamps to a valid day)Feb 28
PreservesDay of month (when possible)Nothing — always month-end
First-of-month trickEOMONTH(date,-1)+1 = first day of date's month
CompatibilityUniversalUniversal (both executed in every LibreOffice version we test, and in our dated Google Sheets run; Excel per docs)

Which should you use?

Compatibility (Excel for the web, Sheets & LibreOffice executed; desktop Excel per docs)

Both execute identically in every LibreOffice build and in the Google Sheets run we execute (desktop Excel per Microsoft's docs — we do not run desktop Excel), including the Jan-31-plus-a-month clamping behavior. Remember both return date serials — format the cell as a date or the result looks like 46234. Excel for the web is a separate application with its own calculation engine, and that one we do execute: all 8 corpus cases for these functions matched the documented values there (recalculated on OneDrive, 2026-09-01); the per-case values are on the individual function pages.

Example formulas

Renewal same day next month=EDATE(A2,1)
Last day of this month=EOMONTH(A2,0)
First day of this month=EOMONTH(A2,-1)+1

Full per-version details on each function page: EDATE · EOMONTH.

How-to recipes using these functions