Add Months (or Years) to a Date

Excel Formulas › Date & Time

All versionsEDATEEOMONTH

To shift a date forward or back by whole months — a renewal 12 months out, a due date 3 months later — use EDATE. It keeps the day-of-month and handles month-length and leap-year edge cases that plain addition gets wrong.


Quick formula: to add 3 months to the date in A2:
=EDATE(A2, 3)
A positive number moves forward, negative moves back. EDATE keeps the same day of the month where possible.

Functions used (tap for the full reference guide):

The example

Start dates shifted forward by a number of months.

ABC
1Start+3 months+12 months
21/15/20264/15/20261/15/2027
31/31/20264/30/20261/31/2027

The formula

Three months later in B2:

=EDATE(A2, 3) // Jan 15 → Apr 15

How it works

EDATE shifts by whole months intelligently:

  1. EDATE(A2, 3) moves the date 3 months forward, keeping the same day — Jan 15 → Apr 15.
  2. When the target month is shorter, EDATE lands on its last valid day — Jan 31 + 3 months → Apr 30 (April has no 31st).
  3. Use a negative number to go back: EDATE(A2, -1) is one month earlier.
  4. For years, multiply: EDATE(A2, 12) is one year; EDATE(A2, 5*12) is five years out.

Need the end of that month? EOMONTH does both jobs: =EOMONTH(A2, 3) returns the last day of the month three months ahead — handy for billing periods.

Try it: interactive demo

Live demo

Pick a start date and how many months to add.

Result:

Variations

Add years

Months × 12:

=EDATE(A2, 12)

Subtract months

Negative shift:

=EDATE(A2, -6)

End of the month N months out

EOMONTH for billing periods:

=EOMONTH(A2, 3)

Pitfalls & errors

Don’t add 30 for “a month.” =A2+30 drifts — months aren’t all 30 days. EDATE shifts by true calendar months.

Month-end shifts down. Jan 31 + 1 month is Feb 28 (or 29), not an invalid Feb 31. That’s usually desired, but know it happens.

Result may show as a serial number. Format the cell as a Date if you see something like 46127.

Practice workbook

📊
Download the free Add Months (or Years) to a Date practice workbook
Start dates with live EDATE month/year shifts and the EOMONTH variant, plus 4 challenges with answers. No sign-up required.

Frequently asked questions

How do I add months to a date in Excel?
Use =EDATE(A2, 3) to add three months. It keeps the same day where possible and rolls month-end dates back to the last valid day. Use a negative number to subtract.
How do I add years to a date?
Multiply months by 12: =EDATE(A2, 12) adds one year, =EDATE(A2, 60) adds five years.
Why not just add 30 days for a month?
Months vary in length, so adding 30 days drifts off the calendar. EDATE shifts by true calendar months and handles month-end and leap years correctly.

Stop fighting formulas. Learn them in a day.

This recipe is one of hundreds of real-world formulas we teach. Our Excel Formulas & Functions class covers lookups, logic, text, and dynamic arrays hands-on — live in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.

See the Formulas & Functions Class

Related formulas: First & last day of month · Days until a date · Working days between dates

Function references: EDATE · EOMONTH