Related Function:

The EDATE function returns a date that is a specified number of months before or after a supplied start date.




Argument Description
start_date The initial date, from which to count the number of months
months The number of months to add to, or subtract from, the start_date.

Note: The start_date argument for the EDATE function should be input as either:

  • A reference to a cell containing a date or,
  • A date returned from another function or formula

Warning: Although you can input date arguments as date serial numbers, this is not recommended as date serial numbering does vary across different computer systems.


  A B C D E
1 Start Date Months Formula Result Notes
2 2/1/2014 1 =EDATE(A2,B2) 3/1/2014 One month after the start date
3 2/1/2014 -1 =EDATE(A3,B3) 1/1/2014 One month before the start date
4 2/15/2014 3 =EDATE(A4,B4) 5/15/2014 Three months after the start date
5 3/30/2014 -1 =EDATE(A5,B5) 2/28/2014 Note the last day of Feb is returned, not Feb 30
6 1/31/2016 1 =EDATE(A6,B6) 2/29/2016 Since 2016 is a leap year, the last day of Feb will be 29
7 3/30/2013 24 =EDATE(A7,B7) 3/30/2015 Years are automatically incremented

Usage note: EDATE is good with rolling “end of month” dates forwards or backwards. For example, =EDATE(“1/31/2015”,1) returns the date “2/28/2015” and =EDATE(“1/31/2016”,1) returns “2/29/2016”, since 2016 is a leap year.

Common Function Error(s)

Problem What went wrong
#VALUE! Occurs if the start_date is not a valid date, or the months argument is non-numeric
#NAME? Occurs if the Analysis ToolPak add-in is not enabled