ExcelReady
CourseMock testsFunction guidesBlog
Start freeStart learning for free
ExcelReady

Be Excel-ready before day one. Hands-on practice in your browser, with instant feedback.

Learn

  • Course
  • Mock tests
  • Function guides
  • Blog

Test prep

  • Excel test practice
  • Free screening quiz
  • Certificate

Company

  • Editorial policy
  • Contact
  • Terms
  • Privacy

© 2026 ExcelReady. All rights reserved.

Function guides / EDATE

The EDATE function in Excel

EDATE returns the date that is a given number of months before or after a start date, on the same day of the month. It's the right tool for contract renewals, probation periods and subscription billing, where "3 months later" matters more than "90 days later". When the target month is shorter, EDATE moves to its last day.

Syntax

=EDATE(start_date, months)
start_dateThe date to count from.
monthsHow many months to move. Positive goes forward, negative goes back, and decimals are cut to a whole number.

Try it yourself

This is a live spreadsheet. Type the formula and press Enter.

In D2, use EDATE to find the date each employee's probation ends: the hire date in B2 plus the number of months in C2.

fx
ABCDEFG
1
Employee
Hire date
Probation (months)
Probation ends
2
Noor Aziz
2/10/2025
6
3
Ethan Brooks
4/1/2025
3
4
Sara Lindqvist
5/31/2025
3
5
Kwame Mensah
9/15/2025
6
6
7
8

Tip: EDATE needs the start date first, then the number of months.

Examples

=EDATE(B2,C2)→ 46095

Adds the 12-month term to the start date to get the renewal date, Mar 14, 2026. Excel returns dates as serial numbers, which is what you see here. Format the cell as a Date to show it as a date.

=TEXT(EDATE(B3,C3),"mmm d, yyyy")→ "Feb 28, 2025"

One month after Jan 31 would be Feb 31, which doesn't exist, so EDATE returns the last day of February instead. TEXT shows the result as a readable date.

=TEXT(EDATE(B4,-3),"mmm d, yyyy")→ "May 20, 2025"

A negative number of months goes back in time: three months before the start date, for example a notice deadline.

Example data

1ContractStart dateTerm (months)
2Lakeside Gym3/14/202512
3Copperleaf Café1/31/20251
4Vela Architects8/20/20256

Common mistakes

  • The result shows as a number

    A result like 46095 is a date serial number. Select the cell and pick Short Date from the Number Format box on the Home tab.

  • Adding 30 days instead of a month

    =B2+30 drifts because months have 28 to 31 days. Use =EDATE(B2,1) to land on the same day next month.

  • Chaining EDATE month by month

    From Jan 31, one month gives Feb 28, and another month from there gives Mar 28, not Mar 31. Always count from the original date: EDATE(B2,2).

  • Using years instead of months

    EDATE only counts months. For 3 years, multiply: =EDATE(B2,3*12).

FAQ

How do I add years to a date in Excel?+

Use EDATE with 12 months per year, like =EDATE(B2,24) for two years. It handles leap years for you, so Feb 29 plus a year becomes Feb 28.

What's the difference between EDATE and EOMONTH?+

EDATE keeps the same day of the month. EOMONTH always returns the last day of the month, which suits month-end deadlines and reporting periods.

How do I subtract months from a date?+

Give EDATE a negative number: =EDATE(B2,-6) returns the date six months earlier.

Lesson

Master EDATE step by step: Renewals and month-ends: EDATE, EOMONTH, WEEKDAY

Shift dates by whole months with EDATE, jump to month-end with EOMONTH, and find the day of the week with WEEKDAY.

Related functions

EOMONTHDATEDIFTODAY