EDATE Function in Microsoft Excel: Examples, Pitfalls & Compatibility
EDATE in Microsoft Excel: move a date by a specified number of calendar months rather than a fixed number of days. Includes worked examples and application-specific cautions.
Verification status: Official documentation referenced; example outcomes independently reasoned or arithmetically checked where stated. Not executed in Microsoft Excel. How formula examples are checked
Quick answer: Use EDATE in Microsoft Excel to move a date by a specified number of calendar months rather than a fixed number of days. The official EDATE reference is the source for the function definition and platform-specific rules described below.
Syntax and arguments
=EDATE(start_date, months)
start_date (required): A real date value, preferably supplied by DATE or a validated date cell.
months (required): The signed month offset. Positive moves forward; negative moves backward. A fractional offset is truncated.
Examples use English function names, comma argument separators and decimal points. Adapt formula separators to your workbook settings, not punctuation inside quoted text.
When to use it
Use EDATE for a month-based anniversary or schedule. Adding 30 days is a different rule because calendar months vary in length. Use EOMONTH when the explicit requirement is the last day of the resulting month.
Three worked examples
Each example is independent. Where input cells are listed, enter those values first; otherwise the formula is self-contained. Expected outputs are independently checked calculations or documented error expectations, not captured results from Microsoft Excel.
Example 1: Move a schedule across a year boundary
=EDATE(DATE(2026,10,15),3)
Expected result: 2027-01-15 when the result cell is formatted as a date. This ISO date is a readable calendar expectation, not a promise that the function returns text.
Three calendar months after the anchor is January 15 of the next year. The displayed date is shown in ISO order here to avoid regional ambiguity.
Example 2: Move backward by two months
=EDATE(DATE(2026,10,15),-2)
Expected result: 2026-08-15 when the result cell is formatted as a date. This ISO date is a readable calendar expectation, not a promise that the function returns text.
A negative offset moves the anchor into August; it does not subtract a guessed fixed day count.
Example 3: Expose truncation of a fractional offset
=EDATE(DATE(2026,10,15),2.9)
Expected result: 2026-12-15 when the result cell is formatted as a date. This ISO date is a readable calendar expectation, not a promise that the function returns text.
The documented truncation rule uses two months. This is useful as a validation test, not a recommendation to enter fractional months.
Put it to work safely
Keep an original anchor date and a separate whole-number month offset for every scheduled row. Calculate from the anchor rather than blindly chaining previous results, particularly when a schedule may meet short months. Test anchors on the 29th, 30th and 31st before release. The main examples deliberately use mid-month dates, where the intended day exists in every destination month.
Common mistakes and fixes
The result appears as a number. A date is represented numerically; format the result as a date before deciding the calendar calculation is wrong.
A slash-separated expression gives a strange result. An unquoted expression such as a/b/c is division, not an unambiguous date literal. Use DATE with numeric year, month and day components.
A decimal month offset is silently shortened. The offset is truncated, not rounded. Validate whole-number offsets when fractional entries indicate a mistake.
Every result must be a month end. That is a different scheduling rule. Use EOMONTH and test the policy instead of assuming an anniversary calculation enforces it.
Microsoft Excel-specific notes
Microsoft documents EDATE as returning a date serial, recommends DATE-based inputs and states that noninteger month offsets are truncated. Calendar displays and workbook date-system settings should be checked when exchanging raw serial numbers. See the vendor reference for the current definition.
Excel and Google Sheets comparison
The mid-month DATE-based examples avoid ambiguous text-date parsing. Month-end clamping, historical date serials, invalid dates and fractional-time inputs remain specific native test cases rather than a blanket compatibility guarantee.
Compare the EDATE guide for Google Sheets and its official documentation. Having a guide in both libraries establishes two documented references, not a certificate of identical behavior across releases, locales or file conversions.
Related guides
Evidence and testing scope
Editorial verification: Official references retrieved on 2026-10-12. The three worked cases are included in this release’s reproducible Python checking suite. It checks the stated arithmetic, calendar or text model and the expected documented error classification; it is not the Microsoft Excel calculation engine. No native application run, UI screenshot, maximum-size benchmark or cross-version certification is claimed. Review the editorial testing standards before relying on a formula in a critical workbook.