Quick, clean, and to the point

Excel EDATE Function

Excel EDATE function

The Excel EDATE function returns a date on the same day of the month, n months in the past or future. You can use EDATE to calculate expiration dates, maturity dates, and other due dates. Use a positive value for months to get a date in the future, and a negative value for dates in the past. 

Shift date n months in future or past
Return value 
New date as Excel serial number
=EDATE (start_date, months)
  • start_date - Start date as a valid Excel date.
  • months - Number of months before or after start_date.
Usage notes 

Use EDATE to get the same date in future or past months.  For months, use a positive value for future dates and a negative value for dates in the past. For example, if A1 contains the date February 1, 2018, you can the date one month forward with:

=EDATE(A1,1) // returns March 1, 2018

EDATE is clever about rolling "end of month" dates forwards or backwards, and will adjust year, month, and day values as necessary. For example EDATE will maintain the last day of month:

=EDATE("31-Jan-2019",1) // returns 28-Feb-2019

EDATE will also respect leap years:

=EDATE("31-Jan-2020",1) // returns 29-Feb-2020

See below for more examples of formulas that use the EDATE function.

Note: in Excel's date system, dates are serial numbers. January 1, 1900 is number 1 and later dates are larger numbers. To display date values in a human-readable date format, apply a the number format of your choice.

Excel Formula Training

Formulas are the key to getting things done in Excel. In this accelerated training, you'll learn how to use formulas to manipulate text, work with dates and times, lookup values with VLOOKUP and INDEX & MATCH, count and sum with criteria, dynamically rank values, and create dynamic ranges. You'll also learn how to troubleshoot, trace errors, and fix problems. Instant access. See details here.