ExcelDateIntermediate

EDATE

Returns the date that is n months before or after the start date.

Read the syntaxReview worked examplesOpen the spreadsheet app
=EDATE(start_date, months)

This static page keeps the function indexed for search, while the spreadsheet app handles interactive exploration and saved formulas.

What the function does

Overview

Returns the date that is n months before or after the start date.

The EDATE function calculates a date that is a specific number of months in the future or past from a start date. Unlike simply adding 30 days, EDATE preserves the day of the month where possible. A critical technical edge case occurs at the end of the month: if the start date is the 31st and the target month only has 28, 29, or 30 days, EDATE automatically returns the last day of that month (e.g., Jan 31 + 1 month = Feb 28 or 29). It is best practice to use cell references for dates or the DATE function rather than entering dates as text strings to avoid locale-based errors. Note that the months argument is truncated to an integer if a decimal is provided, and the result is returned as a serial number that must be formatted as a date to be human-readable.

Quick reference

Syntax

=EDATE(start_date, months)

Inputs

Arguments

start_dateBase date
Example: A2
monthsMonths to add/subtract
Example: 12

Formula patterns

Examples

1

Calculate a one-year renewal date

=EDATE(A2, 12)
renewalscontracts
2

Find the date six months prior to a deadline

=EDATE(A2, -6)
project managementback-dating
3

Dynamic maturity date calculation based on variable terms

=EDATE(A2, B2)
financeloans

Avoid these issues

Common Errors

1

#VALUE!

Cause: The start_date argument is provided as text that Excel does not recognize as a valid date, or it contains non-numeric characters.

Fix: Ensure the start_date is a cell reference containing a valid date or use the DATE(year, month, day) function to construct the date safely.

2

#NUM!

Cause: The resulting date falls outside the supported Excel date range (January 1, 1900 to December 31, 9999).

Fix: Check the months argument in B2 to ensure it isn't an excessively large positive or negative number that pushes the date out of bounds.

3

45291 (Serial Number)

Cause: The function correctly calculated the date, but the cell is formatted as 'General' or 'Number' instead of 'Date'.

Fix: Select the cell and change the number format to 'Short Date' or 'Long Date' from the Home tab.

Platform support

Compatibility

Excel 2007+Excel-first

Source: Microsoft Support

Common questions

Frequently Asked Questions

Returns the date that is n months before or after the start date.

ate: Base date months: Months to add/subtract

#VALUE!: Ensure the ate is a cell reference containing a valid date or use the DATE(year, month, day) function to construct the date safely. #NUM!: Check the months argument in B2 to ensure it isn't an excessively large positive or negative number that pushes the date out of bounds. 45291 (Serial Number): Select the cell and change the number format to 'Short Date' or 'Long Date' from the Home tab.