Add Days, Months or Years to a Date in Excel
By ExcelReady TeamUpdated 6 min read
The short answer
To add days to a date in Excel, just add the number: =A2+30. For working days, use =WORKDAY(A2,10). To add months, use =EDATE(A2,3), which handles months of different lengths. To add years, use =EDATE(A2,12*n), for example =EDATE(A2,24) for two years. Use negative numbers to go back in time.
Key takeaways
- Dates are numbers of days, so =A2+7 is one week later and =A2-7 one week earlier.
- =WORKDAY(A2,10) skips weekends (and an optional holiday list).
- =EDATE(A2,months) adds whole months and stops at the month's last day when needed.
- Add years with =EDATE(A2,12*years); DATE(YEAR(A2)+1,…) can spill into the next month on Feb 29.
- If the result shows as a number, format the cell as a date.
On this page+
To add days to a date in Excel, add the number straight to the date: =A2+30 is 30 days later. Months and years need a function, because months have different lengths: =EDATE(A2,3) adds three months and =EDATE(A2,12) adds a year. This guide is for anyone working out due dates, renewals, probation ends or delivery dates, and it shows which method to use for each.
Why you can add numbers to dates#
Excel stores every date as a whole number of days, called a serial number. January 1, 1900 is 1, and January 31, 2025 is 45688. The date format only changes how that number looks. Our explainer on why Excel stores dates as numbers goes deeper.
Because a date is a day count, adding 1 moves it one day forward. That makes days easy. Months and years aren't a fixed number of days, so they need EDATE or DATE.
| To add… | Formula | Jan 31, 2025 becomes |
|---|---|---|
| 30 days | =A2+30 | Mar 2, 2025 |
| 2 weeks | =A2+14 | Feb 14, 2025 |
| 10 working days | =WORKDAY(A2,10) | Feb 14, 2025 |
| 1 month | =EDATE(A2,1) | Feb 28, 2025 |
| 1 year | =EDATE(A2,12) | Jan 31, 2026 |
How to add days to a date in Excel#
Add the number of days with a plus sign. With an invoice date in A2 and payment terms of 30 days:
=A2+30For an invoice dated January 31, 2025, the due date is March 2, 2025. Put the number of days in its own cell, such as B2, and use =A2+B2, so you can change the terms without editing the formula.
To add weeks, multiply by 7: =A2+7*B2 adds the number of weeks in B2. To go back in time, subtract: =A2-14 is two weeks earlier.
If the result shows a number like 45718, the cell has a General or Number format. Select it and choose Short Date from the Number Format box on the Home tab, or press Ctrl+Shift+# on Windows.
How to add working days with WORKDAY#
Use WORKDAY when weekends shouldn't count, such as "delivery in 10 business days".
=WORKDAY(start_date, days, [holidays])=WORKDAY(A2,10) returns the date 10 working days after A2, skipping Saturdays and Sundays. Add a range of holiday dates as the third argument to skip those too: =WORKDAY(A2,10,$H$2:$H$6). For January 31, 2025 (a Friday), 10 working days later is Friday, February 14.
WORKDAY doesn't count the start date. To count the working days between two dates instead, use NETWORKDAYS; our guide to NETWORKDAYS and WORKDAY covers both, including weekends that fall on other days.
How to add months to a date with EDATE#
EDATE moves a date forward or back by whole months and keeps the same day of the month where it can.
=EDATE(start_date, months)| Start date | Formula | Result |
|---|---|---|
| Mar 15, 2025 | =EDATE(A2,6) | Sep 15, 2025 |
| Jan 31, 2025 | =EDATE(A2,1) | Feb 28, 2025 |
| Aug 1, 2025 | =EDATE(A2,-3) | May 1, 2025 |
When the target month is too short, EDATE returns its last day. There is no February 31, so January 31 plus one month is February 28. That is usually what you want for renewals and billing dates.
Why not add 30 days? Because months are 28 to 31 days long. Adding 30 to January 31 lands on March 2, skipping February entirely. The guide to EDATE and EOMONTH shows the month-end version, EOMONTH, too.
How to add years to a date#
Add years with EDATE by multiplying the years by 12:
=EDATE(A2,12*B2)With 2 in B2, this adds 24 months. EDATE handles leap days safely: February 29, 2024 plus 12 months gives February 28, 2025.
You may also see this formula, which rebuilds the date with DATE:
=DATE(YEAR(A2)+1,MONTH(A2),DAY(A2))It works for most dates, but it behaves differently on February 29. There is no February 29, 2025, so DATE rolls over to March 1, 2025. Pick the behaviour your rules need, and test a leap day. Our guide to DATE, YEAR, MONTH and DAY explains how DATE handles values that overflow.
How to add years, months and days at once#
Use DATE with each part adjusted when you need a mix, such as 1 year, 2 months and 10 days:
=DATE(YEAR(A2)+1,MONTH(A2)+2,DAY(A2)+10)DATE accepts months above 12 and days above the month's length and rolls them forward. For March 15, 2025 this returns May 25, 2026. Be careful near month-ends, where the rollover can move the result into the next month.
How to find the difference instead#
Adding takes you from a date to a new date. To go the other way and measure the gap between two dates in days, months or years, subtract them or use DATEDIF. The DATEDIF function guide covers its units, and YEARFRAC gives the gap as a fraction of a year, such as 1.5 years.
You can also group the results. Once you have a renewal date, our guide to getting the quarter from a date shows how to label it Q1 to Q4.
Common mistakes when adding to dates#
These are the problems that trip people up:
- Adding 30 for a month or 365 for a year. Months and leap years make these drift. Use EDATE.
- Dates stored as text.
"1/31/2025"+30may fail or depend on the computer's date settings. Check that the cell is a real date: it should right-align by default. - A number instead of a date. The maths is right; the format is General. Apply a date format.
- Wrong EDATE order. The start date comes first, then the months:
=EDATE(A2,3), not=EDATE(3,A2). - Decimals in EDATE. EDATE ignores the decimal part of
months, so=EDATE(A2,1.5)adds one month.
Practise it#
Try the renewal exercise on this page; the third contract starts on a leap day. Then practise in the EDATE, EOMONTH and WEEKDAY lesson, and if dates still look like numbers to you, start with the lesson on how Excel stores dates.
Try it yourself
This is a live spreadsheet. Type the formula in the green cell and press Enter.
Each contract renews after the number of months in C2. In D2, use EDATE to find the renewal date: the start date in B2 plus the months in C2.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Renewal date | ||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 | |||||
| 6 | |||||
| 7 | |||||
| 8 |
Tip: EDATE takes the start date first, then the number of months to add.
Practise this in a lesson
Frequently asked questions
How do I add 30 days to a date in Excel?
Type =A2+30, where A2 holds the date. Excel stores dates as day counts, so adding 30 moves the date 30 calendar days forward.
How do I add months to a date in Excel?
Use EDATE: =EDATE(A2,3) adds three months. If the target month is shorter, EDATE returns its last day, so Jan 31 plus one month is Feb 28 (or Feb 29 in a leap year).
How do I add years to a date?
Use =EDATE(A2,12) for one year, or =EDATE(A2,12*B2) for the number of years in B2. EDATE turns Feb 29 into Feb 28 in a non-leap year instead of jumping to March 1.
How do I subtract days from a date?
Subtract the number, =A2-14, or add a negative number. EDATE and WORKDAY also accept negative values, such as =EDATE(A2,-6) for six months earlier.
Why does my result show a number like 45716 instead of a date?
That number is the date's serial number. Select the cell and choose a date format, such as Short Date from the Number Format box on the Home tab.