Date & Time

EDATE Formula

EDATE returns a date that is a specified number of months before or after a start date. The day of the month stays the same when possible, or adjusts to the last day if the target month is shorter. It is essential for calculating due dates, contract renewal dates, and payment schedules.

Syntax

EDATE(start_date, months)
ParameterDescription
start_date Parameter of the EDATE function.
months Parameter of the EDATE function.
Try EDATE in Viztab — free, no signup

Examples

Three months later

Formula
=EDATE("2026-01-15", 3)
Returns April 15, 2026 — exactly 3 months after January 15. The day stays as the 15th.

Month-end adjustment

Formula
=EDATE("2026-01-31", 1)
Returns February 28, 2026 — since February doesn't have 31 days, it adjusts to the last day of the month.

Six months ago

Formula
=EDATE(TODAY(), -6)
Returns the date 6 months before today. Negative months go backward. Useful for calculating lookback periods.

Common Errors

#VALUE!

Occurs when the start_date is not a valid date or months is not an integer (or cannot be truncated to one).

#NUM!

Occurs when the resulting date would fall before the date system's minimum (e.g., before January 1, 1900).

Tips

Day-of-month preservation

EDATE keeps the same day when possible: Jan 15 + 1 month = Feb 15. But Jan 31 + 1 month = Feb 28 (or 29 in leap years). It never jumps to March 3.

Negative months go backward

=EDATE(A1, -3) goes back 3 months. Use negative values for lookback periods, previous quarters, or historical date calculations.

Combine with EOMONTH

EDATE preserves day-of-month. If you always want the last day of the target month, use EOMONTH instead.

Try EDATE in Viztab

Import your data and use EDATE with 370+ other formulas. No signup required.

Open Viztab

Related Formulas