# How to add months to a date in Excel

Use =EDATE(start_date, months). It moves the date by whole months and handles month ends correctly.

**Excel:** `=EDATE(B2,C2)` (Every current version)

**Google Sheets:** the same formula works.

## Example

Sample data (row 1 is the header):

| A | B | C | D |
| --- | --- | --- | --- |
| Contract | Start | Months | Renewal |
| Northwind | 2026-01-15 | 12 |  |
| Contoso | 2026-01-31 | 1 |  |
| Fabrikam | 2026-03-10 | 6 |  |
| Litware | 2026-08-31 | 6 |  |

Formula in D2, filled to D5: `=EDATE(B2,C2)`

Result: 1/15/2027; 2/28/2026; 9/10/2026; 2/28/2027

## How it works

EDATE adds whole calendar months. When the day doesn't exist in the target month it uses the last day instead: January 31 plus one month is February 28. Use a negative number to go back in time.

## Other ways

- `=DATE(YEAR(B2),MONTH(B2)+C2,DAY(B2))`: Builds the date from parts. It rolls over instead of stopping at the month end: January 31 + 1 month becomes March 3. (Rolls into the next month when the day doesn't exist.)

## Common mistakes

- Adding 30 days is not adding a month: months have 28 to 31 days.
- The result is a date serial. If it shows as a number like 46402, apply a date format.

## Questions

**How do I add years to a date?**

Multiply by 12: `=EDATE(B2,12*3)` adds three years.

**How do I subtract months?**

Use a negative number: `=EDATE(B2,-3)`.

Every formula and result on this page was checked by running it in the Spreadsheet Practice formula engine on 2026-10-29.

Source: https://spreadsheetpractice.com/formulas/add-months-to-a-date
