EDATE

Function Reference: EDATE

Syntax
=EDATE(start_date,months)
Purpose / Description
Returns the equivalent date a given number of months into the past or the future from a starting date.
Arguments
Name Type Description
start_date number A constant, reference to a one-cell range or a nested expression which provides the serial date number - starting date - from which the calculation is made.
months number A constant, reference to a one-cell range or a nested expression which provides the number of months back or forward in time from the start_date.  If 0 is provided, it returns start_date.
Return Values
Type Specific Value Description
number   A serial date number representing the same day of the month months before or after start_date.  If the target month ends on an earlier day of the month, it is adjusted forward so that it is not a date in a following month.
error #VALUE! If either start_date or months is not a number and cannot be coerced to number.
error #VALUE! If either start_date or months is a multi-cell reference.
error #NUM! If the number passed in start_date or the result of the function is outside the range allowed
1900 date system: 0 to 2,958,465
1904 date system: 0 to 2,957,003
error   Any errors referenced by arguments are returned due to propagation of error values.
Notes / Comments / Advice / Warnings
Note: This function does not accept multi-cell reference. If a multi-cell reference is given, the result is the #VALUE! error.
Advice: It is possible to use the EDATE function with a multi-cell range if a nested array expression is used, since the array handling will call the function once for each value in the array, see the example file for a demonstration.  If nested arrays are used, normal array evaluation rules apply, and the array expression may return #N/A values, which will then be returned by EDATE due to the propagation or error rule.
Examples: Open / download sample workbook: EDATE.xlsx