ID EN
#Date and time

EDATE

Excel Functions

Get date n months in future or past

Syntax

EXCEL
=EDATE(start_date, months)

Arguments

Parameter Description
start_date Start date as a valid Excel date.
months Number of months before or after start_date.

Return Value

New date as Excel serial number

Details

The EDATE function returns a date on the same day of the month, n months before or after a start date. You can use EDATE to generate expiration dates, contract dates, due dates, anniversary dates, retirement dates, and other dates that derive from a start date. EDATE returns a serial number corresponding to a date. To display the result as a date, apply a number format of your choice. The EDATE function takes two arguments, start_date and months: Note: The EDATE function returns the same day of the month. If you want to get the last day of a month, use the EOMONTH function. With a given start date, EDATE returns a new date by adding the number of months provided. To illustrate how EDATE works, assume we want to create dates for the first day of each quarter, starting from January 1, 2024.

Examples

The EDATE function explained

With a given start date, EDATE returns a new date by adding the number of months provided. To illustrate how EDATE works, assume we want to create dat

EXCEL
=EDATE("1-Jan-2024",0) // returns 1-Jan-2024
=EDATE("1-Jan-2024",3) // returns 1-Apr-2024
=EDATE("1-Jan-2024",6) // returns 1-Jul-2024
=EDATE("1-Jan-2024",9) // returns 1-Oct-2024
The EDATE function explained

The first formula does not change the date since months is zero. The second formula adds 3 months, the third formula adds 6 months, and the fourth for

EXCEL
=EDATE(A1,0) // returns 1-Jan-2024
=EDATE(A1,3) // returns 1-Apr-2024
=EDATE(A1,6) // returns 1-Jul-2024
=EDATE(A1,9) // returns 1-Oct-2024
The EDATE function explained

The results are the same. And if the date in A1 is changed, EDATE will generate new dates. You can use negative numbers for months to create dates bef

EXCEL
=EDATE(A1,-3) // returns 1-Oct-2023
=EDATE(A1,-6) // returns 1-Jul-2023
=EDATE(A1,-9) // returns 1-Apr-2023
=EDATE(A1,-12) // returns 1-Jan-2023
Example - Basic usage

If A1 contains the date February 1, 2018, you can use EDATE like this:

EXCEL
=EDATE(A1,1) // returns March 1, 2018
=EDATE(A1,3) // returns May 1, 2018
=EDATE(A1,-1) // returns January 1, 2018
=EDATE(A1,-2) // returns December 1, 2017
Example - 6 months from today

To use EDATE with today's date, you can combine it with the TODAY function. For example, to create a date exactly 6 months from today, you can use:

EXCEL
=EDATE(TODAY(),6) // 6 months from today
Example - Move by years

To use the EDATE function to move by years, multiply by 12. For example, to move a date forward 2 years, you can use either of these formulas:

EXCEL
=EDATE(A1,24) // forward 2 years
=EDATE(A1,2*12) // forward 2 years

See Also

EOMONTH WORKDAY DATEDIF