MS Excel: EDATE function to add or subtract months from a date
- Fakhriddinbek
- May 4
- 2 min read
The EDATE function in Excel allows you to add or subtract a specific number of months to/from a given date. This is especially helpful in financial forecasting, due date calculations, recurring billing schedules, and project planning.

Unlike simple addition of days, EDATE accounts for month-end rules and varying month lengths, making it far more reliable for calendar-based intervals.
Syntax
=EDATE(start_date, months)
Parameters:
Argument | Description |
start_date | Required. A valid Excel date that serves as the starting point. |
months | Required. Number of months to add (positive) or subtract (negative). |
Returns: A serial number representing the resulting date, which can be formatted as a readable date.
Examples
Formula | Result | Explanation |
=EDATE("2025-01-15", 3) | 2025-04-15 | Adds 3 months to Jan 15, 2025 |
=EDATE("2025-01-31", 1) | 2025-02-28 | Adjusts to the last valid date in February |
=EDATE(TODAY(), 12) | 1 year later | Moves current date 12 months ahead |
=EDATE("2025-06-01", -6) | 2024-12-01 | Subtracts 6 months from June 1, 2025 |
Use the TEXT() function to display results in your preferred date format:
=TEXT(EDATE("2025-01-01", 1), "mmmm yyyy") → February 2025
Use Cases
Scenario | How EDATE Helps |
Loan or lease schedules | Calculate monthly payment due dates |
Subscription billing | Determine next billing cycle |
Employee evaluations | Set review dates based on hire date |
Warranty expiration tracking | Add months to purchase date |
Financial forecasting | Add periods in cash flow models |
Notes
The result of EDATE is a serial number. Apply a date format to make it readable.
Dates are stored as sequential numbers starting from Jan 1, 1900 in Excel (serial number 1).
Invalid date inputs will result in a #VALUE! error.
Related Functions
Function | Description |
EOMONTH() | Returns the end of the month after a number of months |
DATE() | Creates a date from year, month, and day inputs |
TODAY() | Returns the current date |
WORKDAY() | Returns a workday n days before/after a given date |
DATEDIF() | Calculates the difference between two dates in units |
Summary
Feature | Description |
Function Name | EDATE |
Purpose | Add or subtract months from a date |
Return Type | Serial number (date) |
Handles Leap Years | Yes |
Excel Availability | Excel 2007 and later |
Final Thoughts
The EDATE function is a must-have for scheduling and forecasting where calendar months—not exact day counts—are the primary unit. Whether you’re handling recurring payments or building a time-based model, EDATE ensures accurate and consistent monthly intervals.
Comments