Spreadsheet Practice

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)

ArgumentRequired?What it is
start_dateRequiredThe date to count from.
monthsRequiredHow 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.

CellFormulaResultWhat it shows
E2=EDATE(B2,C2)2/28/2026January 31 plus one month stops at February 28
E3=EDATE(B3,C3)3/15/2027Twelve months later, same day: March 15, 2027
E4=EDATE(B4,C4)5/1/2026A 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
ContractStartMonthsResult
Acme1/31/202612/28/2026
Birch3/15/2026123/15/2027
Cobalt8/1/2026-35/1/2026

Practice EDATE

From lesson 18, EDATE, EOMONTH & NETWORKDAYS. Graded instantly, then re-checked on changed data.

Contract end dates

In D2, calculate each contract's end date: the start date plus the term in months. Fill down to D6.

Common mistakes

What you seeWhy, and how to fix it
Adding 30 days instead of a monthStart date + 30 drifts away from the same day each month. EDATE(start, 1) keeps the day aligned.
A five-digit number instead of a dateFormat the cell as a date; EDATE returns a serial number.
Months typed as a decimalEDATE 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.