EDATE function
EDATE returns the date a given number of months before or after a start date, keeping the same day of the month. It is the right tool for contract end dates, renewal dates and payment schedules. When the target month is shorter, it returns that month's last day instead of spilling into the next month.
- Available in
- Every current version
- Category
- Date functions
- Returns
- A date serial number. Format the cell as a date.
- Google Sheets
- Works the same in Google Sheets.
Syntax
=EDATE(start_date, months)
| Argument | Required? | What it is |
|---|---|---|
start_date | Required | The date to count from. |
months | Required | How many months to move. Negative numbers go back in time. |
Examples
Each result below is calculated from the sample sheet by our formula engine, the same one that grades the practice.
| Cell | Formula | Result | What it shows |
|---|---|---|---|
| E2 | =EDATE(B2,C2) | 2/28/2026 | January 31 plus one month stops at February 28 |
| E3 | =EDATE(B3,C3) | 3/15/2027 | Twelve months later, same day: March 15, 2027 |
| E4 | =EDATE(B4,C4) | 5/1/2026 | A negative number moves back three months |
Try it live
This is the sample sheet. Change any number or text, or edit a formula, and the results update.
Show the sample data as a table
| Contract | Start | Months | Result | |
| Acme | 1/31/2026 | 1 | 2/28/2026 | |
| Birch | 3/15/2026 | 12 | 3/15/2027 | |
| Cobalt | 8/1/2026 | -3 | 5/1/2026 |
Practice EDATE
From lesson 18, EDATE, EOMONTH & NETWORKDAYS. Graded instantly, then re-checked on changed data.
Contract end dates
D2, calculate each contract's end date: the start date plus the term in months. Fill down to D6.Common mistakes
| What you see | Why, and how to fix it |
|---|---|
| Adding 30 days instead of a month | Start date + 30 drifts away from the same day each month. EDATE(start, 1) keeps the day aligned. |
| A five-digit number instead of a date | Format the cell as a date; EDATE returns a serial number. |
| Months typed as a decimal | EDATE drops the decimal, so 1.5 months counts as 1. Use whole months, or add days separately. |
Tips
- Use EDATE(A2, 12*B2) to move a whole number of years in B2.
Questions
How do I add months to a date in Excel?
Use =EDATE(A2,3) to add three months. Use a negative number, like -3, to subtract months.
What does EDATE do with January 31 plus one month?
It returns February 28 (or 29 in a leap year) because February has no 31st.
How is EDATE different from EOMONTH?
EDATE keeps the day of the month. EOMONTH always returns the last day of the target month.
Lessons that use EDATE
Last reviewed October 2026. Every example result on this page is calculated live by the Spreadsheet Practice formula engine.