Menu

Add Days, Months or Years to a Date in Excel

=A2+30 returns the date 30 days after A2. To add months use =EDATE(A2,3), for the end of a month =EOMONTH(A2,0), and for years EDATE with 12 months per year.

Every sheet on this page is live: change a number or a formula and it recalculates.

=A2+30 returns the date 30 days after the date in A2. Excel stores dates as numbers of days, so adding a number moves the date forward that many days. For months, which have different lengths, use =EDATE(A2,3): the same day, three months later.

Due date 30 days after the invoice
B2
ABCD
1Invoice dateDue (30 days)Due (90 days)Two weeks later
22026-03-102026-04-092026-06-082026-03-24
32026-03-252026-04-242026-06-232026-04-08
42026-04-022026-05-022026-07-012026-04-16
52026-12-152027-01-142027-03-152026-12-29
Click a cell to see its formula. Change a number or a formula and the sheet recalculates.

An invoice dated 2026-03-10 is due 2026-04-09 at 30 days and 2026-06-08 at 90 days. The December invoice crosses into 2027 without any extra work. Subtract to go back in time: =A2-30 is 30 days earlier. For weeks, multiply: =A2+7*2 is two weeks later.

Add months with EDATE

"One month later" is not a fixed number of days, so +30 drifts: from February 1 it lands on March 3. EDATE(start_date, months) keeps the day of the month and changes the month. A negative number of months goes back.

Subscription renewals
C2
ABCD
1StartMonthsRenewsReminder
22026-01-1512026-02-152026-01-15
32026-02-0132026-05-012026-04-01
42026-03-20122027-03-202027-02-20
52026-11-0562027-05-052027-04-05
Click a cell to see its formula. Change a number or a formula and the sheet recalculates.

The yearly plan that starts 2026-03-20 renews 2027-03-20, and the six-month plan from November renews 2027-05-05. Column D sends a reminder one month before each renewal. Change a number of months in column B to see the date move.

When the start day does not exist in the target month, EDATE uses the last day of that month. These are Excel's results:

=EDATE("2026-01-31", 1)    2026-02-28
=EDATE("2026-08-31", 1)    2026-09-30
=EDATE("2024-03-31", -1)   2024-02-29

Add years to a date

A year is 12 months, so =EDATE(A2,12*B2) adds B2 years. For warranties, contracts and anniversaries this keeps the same day and month.

Warranty end dates
C2
ABCD
1BoughtYearsWarranty endsWith DATE
22026-03-1422028-03-142028-03-14
32025-07-0152030-07-012030-07-01
42026-11-2832029-11-282029-11-28
Click a cell to see its formula. Change a number or a formula and the sheet recalculates.

Both columns give 2028-03-14, 2030-07-01 and 2029-11-28. They differ on one date only: February 29. =DATE(2027,2,29) rolls over to 2027-03-01, while EDATE returns 2027-02-28.

Last day of the month with EOMONTH

EOMONTH(start_date, months) returns the last day of a month: 0 for the same month, 1 for the next, -1 for the previous. The first day of a month is the day after the end of the previous one, EOMONTH(A2,-1)+1.

Month ends and month starts
B2
ABCD
1DateEnd of monthEnd of next monthFirst of month
22026-02-102026-02-282026-03-312026-02-01
32024-02-102024-02-292024-03-312024-02-01
42026-12-312026-12-312027-01-312026-12-01
Click a cell to see its formula. Change a number or a formula and the sheet recalculates.

February 2026 ends on the 28th and February 2024 on the 29th. From 2026-12-31 the end of next month is 2027-01-31. EOMONTH is the formula for "payment due at the end of the month after the invoice", =EOMONTH(A2,1). For business days use WORKDAY: =WORKDAY(A2,10) is 10 working days after A2, skipping weekends (see NETWORKDAYS and WORKDAY).

Practice: renewal and month end

Your turn: renewal date
C2
ABC
1StartMonthsRenews
22026-03-106
Click a cell to see its formula. Change a number or a formula and the sheet recalculates.

Your turn: In C2, return the date that is the number of months in B2 after the start date in A2.

Your turn: end of the month
B2
AB
1DateMonth end
22026-04-14
Click a cell to see its formula. Change a number or a formula and the sheet recalculates.

Your turn: In B2, return the last day of the month of the date in A2.

Common mistake: adding a month with DATE and MONTH+1

A formula like =DATE(YEAR(A2),MONTH(A2)+1,DAY(A2)) looks like "one month later" and is right most of the time. When the day does not exist in the next month, DATE does not stop at the month end: it rolls the extra days into the month after.

DATE rolls over, EOMONTH does not
B2
ABC
1DateMONTH+1 with DATEEnd of next month
22026-01-312026-03-032026-02-28
Click a cell to see its formula. Change a number or a formula and the sheet recalculates.

From January 31 the DATE formula returns 2026-03-03, because "February 31" is three days past February 28. EDATE returns 2026-02-28, and when the end of the month is what you want, EOMONTH says so directly. More on how DATE handles overflowing months and days: DATE function.

Frequently Asked Questions

How do I add days to a date in Excel?

Add the number: =A2+30 is 30 days after the date in A2, and =A2-30 is 30 days before. Excel stores dates as numbers of days, so plain addition works across months and years.

How do I add months to a date in Excel?

Use EDATE: =EDATE(A2,3) returns the same day three months later, and =EDATE(A2,-3) three months earlier. When that day does not exist, EDATE uses the last day of the month: =EDATE("2026-01-31",1) is 2026-02-28.

How do I get the last day of the month in Excel?

=EOMONTH(A2,0) returns the last day of A2's month. =EOMONTH(A2,1) is the end of next month, and =EOMONTH(A2,-1)+1 the first day of A2's month.

How do I add years to a date in Excel?

=EDATE(A2,12*5) adds five years. =DATE(YEAR(A2)+5,MONTH(A2),DAY(A2)) works too, but turns February 29 into March 1 in a year that is not a leap year, where EDATE gives February 28.

Why does adding days show a number instead of a date?

The result cell is formatted as General or Number, so the date shows as its serial number, such as 46126. Select it and choose Home > Number Format > Short Date.

Coddy programming languages illustration

Learn to code with Coddy

GET STARTED