Cellwise Try it free

Excel guide · 2 min read

How to add months to a date in Excel

Quick answerUse =EDATE(A2,3) to add 3 months to the date in A2. Use a negative number, like =EDATE(A2,-3), to go back. EDATE keeps the same day of the month and handles short months for you.

Sample data

Every result on this page was calculated from this sheet by the same spreadsheet engine the Cellwise app uses.

AB
1Start dateMonths
22026-01-153
32024-01-311
42026-08-316
52026-05-10-2

Method 1: EDATE

EDATE(start_date, months) moves a date forward or back by whole months. Put the number of months in its own column, as here, so you can change it without editing formulas. It is ideal for renewal dates, probation end dates and payment schedules.

If you see a number like 46127 instead of a date, the cell is formatted as General. Choose Short Date from Home > Number.

=EDATE(A2,B2)

Result: Apr 15, 2026

15 January 2026 plus 3 months returns 15 April 2026.

What happens at the end of the month

When the target month is shorter, EDATE lands on its last day instead of spilling into the next month. 31 January 2024 plus one month gives 29 February 2024, because 2024 is a leap year.

=EDATE(A3,B3)

Result: Feb 29, 2024

Returns 29 February 2024, the last day of the shorter month.

Subtract months

A negative month count moves backwards. That is handy for working out a notice date, such as "two months before the contract ends".

=EDATE(A5,B5)

Result: Mar 10, 2026

10 May 2026 minus 2 months returns 10 March 2026.

Jump to the end of a month with EOMONTH

For billing periods you often want the last day of the month, whatever the start day. EOMONTH(start_date, months) returns the month end that many months away. Use 0 for the end of the same month.

=EOMONTH(A4,B4)

Result: Feb 28, 2027

Six months after 31 August 2026 ends on 28 February 2027.

Why not add 30 days or use DATE?

Adding 30 drifts because months run from 28 to 31 days. Building the date yourself with =DATE(YEAR(A3),MONTH(A3)+1,DAY(A3)) is close, but when the day does not exist Excel rolls over: 31 January plus one month becomes 2 March. EDATE avoids both problems.

To add years, multiply by 12: =EDATE(A2,12*5) adds five years.

=DATE(YEAR(A3),MONTH(A3)+1,DAY(A3))

Result: Mar 2, 2024

Returns 2 March 2024, overshooting February. EDATE would give 29 February.

Common mistakes

The result is a 5-digit number

That is the date's serial number. Format the cell as Short Date or Long Date.

Decimal months like 1.5

EDATE ignores the decimal part and adds 1 month. For half months, add days separately.

#VALUE! from EDATE

The start date is text that Excel cannot read as a date. Re-enter it as a real date.

FAQ

How do I add months to a date in Excel?

Use =EDATE(date, months), such as =EDATE(A2,6) for six months later. Format the result as a date.

How do I add years to a date in Excel?

Use EDATE with months times 12, such as =EDATE(A2,24) for two years. It handles 29 February correctly.

How do I get the first day of next month?

Use =EOMONTH(A2,0)+1. EOMONTH finds the last day of this month and adding 1 moves to the next day.

How do I add months to a date in a whole column?

Put the formula in the first row, such as =EDATE(A2,B2), and double-click the fill handle. If the number of months is the same for every row, lock it: =EDATE(A2,$E$1).

Why does EDATE give a different day than I expected?

EDATE only changes the day when the target month is too short. Adding one month to 31 August gives 30 September, and adding another month to that gives 30 October, not 31. Always add months to the original start date, not to the previous result.

Functions used

Related guides

Updated