EDATE in Excel: what it does and how to use it

EDATE moves a date forward or back by a whole number of months, and lands on a real date every time.

Syntax

EDATE(start_date, months)

When to use it

Renewal dates, payment schedules, the end of a trial, anything that repeats monthly.

What trips people up

Adding thirty days is not the same as adding a month, which is exactly why EDATE exists. It also handles the tricky cases sensibly: one month on from the 31st of January is the 28th of February, not the 3rd of March. The answer may appear as a number until the cell is formatted as a date.

Watch it built, step by step

Questions

What happens at the end of a month?

EDATE moves to the last day of a shorter month. One month after 31 January is 28 February, or the 29th in a leap year.

How do I go back in time?

Use a negative number of months: =EDATE(A2,-3) is three months earlier.

Why does EDATE show a five-digit number?

That is the date as Excel stores it. Format the cell as a date and it reads normally.

Related functions

Settings: separator, Excel version

Argument separator

Set by your computer's language, not by the file. A frequent cause of a correct-looking formula being rejected.

Excel version

XLOOKUP, IFS, TEXTBEFORE and TEXTJOIN need Microsoft 365 or 2021; older versions return #NAME? instead. Choosing the older one switches every walkthrough to a formula that works there.