Excel guide · 2 min read
How to add months to a date in Excel
=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.
| A | B | |
|---|---|---|
| 1 | Start date | Months |
| 2 | 2026-01-15 | 3 |
| 3 | 2024-01-31 | 1 |
| 4 | 2026-08-31 | 6 |
| 5 | 2026-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.
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.
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".
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.
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.
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
EDATESame day, months laterEOMONTHLast day of a monthDATEBuilds a dateYEARYear of a dateMONTHMonth numberDAYDay of the month
Related guides
- How to calculate months between two dates in Excel
- How to calculate days between two dates in Excel
- How to count working days between two dates in Excel
- How to use COUNTIF greater than in Excel
- COUNTIFS with multiple criteria in Excel
Updated