Quick Answer

EDATE Function

Shifts a date by a number of months.

✓ Excel✓ Google SheetsExcel All versions

Syntax

EDATE
(start_date, months)

Parameters

ParameterDescriptionRequired
start_dateThe starting date serial.Required
monthsThe number of months to move. Positive moves forward, negative moves backward. The value is truncated to an integer.Required

Basic Example

Three months after a mid-January date

=EDATE(DATE(2024, 1, 15), 3)
Result45396

Jan 15 plus 3 months is Apr 15 2024 (serial 45396).

Advanced Examples

Example 1: End-of-month rollover in a leap year

Jan 31 plus one month

February has no 31st, so it rolls to the last day

=EDATE(DATE(2024, 1, 31), 1)
Result: 45350
2024 is a leap year, so February's last day is the 29th (serial 45350).

Example 2: Moving backward

Three months before January 15

A negative months value goes to the past

=EDATE(DATE(2024, 1, 15), -3)
Result: 45213
Three months earlier is October 15 2023 (serial 45213).

How EDATE Works

EDATE adds the specified number of months to start_date. It keeps the same day number; if that day is invalid in the resulting month (for example the 31st of February), Excel returns the last day of that month. The result is a date serial.

1
Enter the start date
Provide a date serial or DATE(...) expression.
2
Enter the month offset
Use a positive or negative integer for months.
3
Format as a date
The result is a serial; apply a date format to view it.

Important Notes & Limitations

  • The day of month is preserved but rolls to the last day if the target month is shorter.

  • The months argument is truncated to an integer (1.9 becomes 1).

  • The result is a serial number and needs a date format to be readable.

Common Errors & Fixes

#VALUE!The start_date is not a valid date serial.

Fix: Pass a real date value or DATE(...) expression.

Unexpected end-of-month dateThe original day does not exist in the target month.

Fix: This is expected; EDATE returns the last valid day of that month.

Download Practice File

Practice EDATE with Real Data

Download a sample CSV file with pre-populated data and practice exercises for the EDATE function. Works in both Excel and Google Sheets.

Works in Google SheetsCompatible with ExcelIncludes exercises

File format: CSV (comma-separated values) - opens in Excel, Google Sheets, and all spreadsheet apps

Frequently Asked Questions

What happens on Jan 31 plus one month?
It returns Feb 28 (or Feb 29 in a leap year) because February has no 31st.
Can months be negative?
Yes, a negative value moves the date backward in time.
Does EDATE change the day?
It keeps the same day unless that day is invalid in the new month, then it uses the last day.