Excel EDATE Function

Using the Excel EDATE Function


The Excel EDATE function will return a date N months in the past or future from a specified date. Using EDATE can be useful when calculating maturity and due dates. The output is returned as a serial date and can be used as input for other formulas or functions.


=EDATE (start_date, months)

Syntax Breakdown

The start_day is a required field that contains a number representing the starting date. To avoid issues with dates entered as text, use a function such as DATE when entering the start date. Alternatively, the output from other functions or formulas can be used.

A required field that indicates the number of months before or after the start_date. Positive values will calculate a future date and negative values will calculate a past date.

Excel EDATE Example

Usage Notes

#VALUE! Error
Excel stores dates as sequential serial numbers starting with January 1, 1900 (1) and ending with December 31, 9999 (2958465). If start_date is not entered as a valid date then the function will return the #VALUE! error.

Excel EDATE #VALUE! Error

Non-Integer Months
If the month value is not an integer, then Excel will truncate the figure.

Excel EDATE Integer Truncate

Leap Years
Thankfully we do not need to factor in leap years as Excel can handle this task for us by rolling end of month dates backwards or forwards, as needed. In the following example we can see how Excel handles the leap year in 2020.

Excel EDATE Leap Year