Formula Bug in EDATE() and EOMONTH()

I’m just going to report a general error in both the EDATE() and EOMONTH() functions.

EDATE(date,N) should return the same day of the month as in the original date. Or, if the day of the month would be greater than the number of days in the resulting month, it reverts to returning the end date of that month.

EOMONTH(date,0) should return the last day of the month.

The following functions may help test the results:

EDATE(date,n) =
IF( DAY(DATE(YEAR(date),MONTH(date)+n,DAY(date)))<>DAY(date), EOMONTH(date,n), DATE(YEAR(date),MONTH(date)+n,DAY(date)) )

But, if EOMONTH isn’t working, the above won’t work, so replace EOMONTH with:

EOMONTH(date,n) =

We accept the bug. We’re tracking this internally as issue #001569.

The EOMONTH() function now works as expected, as of the Jan 30th production update.

Fixes to EDATE() remain on the roadmap.


The remaining issues with EDATE have been fixed as of our February 27, 2021 update.