Description
Use this function to return a date that is the specified number of months before or after the specified date, while keeping the same day of the month. This is useful for calculating maturity dates or due dates that fall on the same day of the month as the date of issue.
Syntax
EDATE(start_date, months)
Inputs
This function has the following arguments:
| Name | Required | Valid input |
|---|---|---|
start_date |
Yes | The date that the result is to be calculated from. This can be a cell reference, an integer date, or a date in the format DD/MM/YYYY or YYYY/MM/DD. A formula which results in one of these is also acceptable. |
months |
Yes |
The number of months before or after |
Examples
Sample data
| A | B | |
|---|---|---|
| 1 | February 1, 2018 | 56 |
| 2 | April 23, 2019 | 39 |
| 3 | July 4, 2000 | 15 |
| 4 | 7/19/2003 | -92 |
| 5 | 12/23/2023 | 22 |
Example formulas
| Use case | Formula | Explanation and Result | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Add a number of months to a date specified in a cell. | =EDATE(A1,56) |
This formula adds 56 months to the date in cell A1. This formula returns 10/1/2022 | ||||||||||||
| Subtract a number of months from a specified date. | =EDATE(7/19/2003,-92) |
This formula adds -92 months to the supplied date of 7/19/2003. This formula returns 11/19/1995. | ||||||||||||
| Generate a sequence of due dates. | =EDATE(A1, SEQUENCE(12)) |
This formula works in the following manner:
For this data set the formula returns:
|
||||||||||||
| Create a list of semi-annual review dates. | =EDATE(A1, SEQUENCE(10, 1, 6, 6)) |
This formula works in the following manner:
For this data set the formula returns:
|
Notes
- The Workiva platform stores dates as numbers so they can be used in calculations. By default, January 1, 1900 = 1.
- EDATE returns an integer date, which must be formatted as a date.
- If the supplied or referenced
start_dateis not a valid integer date or in the format "DD/MM/YYYY" or "YYYY/MM/DD", EDATE returns the #VALUE! error. - If
start_datehas a fractional time attached (that is, is not an integer), it is removed. - If
monthsisn't an integer, it's truncated. - If
monthscontains a decimal value, it will be removed. - Wildcards don't work with this function.
Tips
- To calculate an end-of-month date, use the EOMONTH function.
- The EDATE function will strip times from dates that include time (sometimes called a "datetime").
To preserve the time in a date, you can use a formula like this:=EDATE(start_date,months)+MOD(start_date,1)
The MOD function extracts the time from the date, and then adds it back in.
Related functions
DATE
DATEVALUE
DAY
DAYS
DAYS360
EDATE
EOMONTH
MONTH
NETWORKDAYS
NETWORKDAYS.INTL
WEEKDAY
WORKDAY
WORKDAY.INTL
YEAR
YEARFRAC