The Excel EDATE function returns the date a set number of months before or after a start date — the go-to for due dates, subscription renewals, and aging buckets that must land on the same day each month.
Syntax
| Argument | Description | |
|---|---|---|
start_date | Required | The starting date. |
months | Required | Months forward (positive) or back (negative). |
How to use it
EDATE keeps the same day-of-month and rolls the year automatically. When the target month is shorter, it clamps to the last valid day (EDATE for Jan 31 + 1 month = Feb 28/29). Negative months go backward:
For the last day of the target month instead of the same day, use EOMONTH.
Remember Excel’s date system: every date is a serial number (days since Jan 1, 1900 — so 1 = that day, 46000-ish = today) and every time is a fraction of a day (0.5 = noon). If a result shows a raw number, just apply a date or time cell format.
Try it: interactive demo
Adjust the input and watch the formula and result update.
Tips & gotchas
Jump a set number of months from a date - renewals, due dates, same-day-next-month. Format result cells as Date or Time so they don’t display raw serial numbers.
Practice workbook
Frequently asked questions
What happens at month-end?
EDATE vs EOMONTH?
Why a number instead of a date?
Can months be a decimal?
Master functions like this in one day
This page covers one function. Our Excel Formulas and Functions class covers the 30 that matter most — live, hands-on, taught by professionals in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.
See the Formulas & Functions Class