✕
0 / 63

Add months to a date with EDATE

Each contract runs for the number of months in column C, from its start date. In D2:D7, work out the date it renews: the same day of the month, that many months later. When that day doesn't exist, it renews on the last day of the month, so January 31 plus one month is February 28. In E2:E7, show the last day the contract covers: the day before it renews.

EDATE(date, months) moves a date by whole months and keeps the day of the month. When that day doesn't exist in the new month, it gives the last day instead. A date minus 1 is the day before.

54 Renewal dates EDATE Core

contracts.xlsx
Ready

Click a cell while typing to insert it, drag to select a range, F4 adds $, Esc cancels.

Tap a cell while writing a formula to insert it, or slide across cells for a range. The strip above the keyboard has = ( ) : , $.

The EDATE guide

=EDATE(B2, C2) gives the date C2 months after B2, on the same day of the month. When that day doesn't exist, EDATE uses the last day of the month: January 31 plus one month is February 28, or 29 in a leap year.

CoreAbout 3 minutesBy Updated

The syntax

=EDATE(start_date, months)

Months can be negative: =EDATE(B2, -1) is a month earlier. The result is a date serial, so give the cell a date format if it shows a number.

Why not add 30 days?

Months are 28 to 31 days long. =B2+C2*30 drifts a few days for every month, so a 12-month contract that starts on 1/15/2026 comes out on 1/10/2027.

Why not DATE?

=DATE(YEAR(B2), MONTH(B2)+C2, DAY(B2)) looks right and is right most days. On 1/31/2026 plus one month it asks for February 31, and Excel rolls on to March 3. EDATE stops at the last day of the month instead.

EDATE or EOMONTH?

EDATE keeps the day of the month: the 15th stays the 15th. EOMONTH(B2, C2) always returns the last day of the month, which suits "due at the end of the month after" in the month-end challenge.

The day before

A date minus 1 is the day before. A contract that renews on 2/28/2026 covers up to 2/27/2026: =D2-1.

Common mistakes

FAQ

How do I add months to a date in Excel?
Use =EDATE(date, months). It keeps the day of the month, and uses the last day when that day doesn't exist in the new month.
What does EDATE do with January 31?
EDATE("1/31/2026",1) returns 2/28/2026: February has no 31st, so it uses the last day of February.
What is the difference between EDATE and EOMONTH?
EDATE keeps the day of the month. EOMONTH always returns the last day of the month that many months away.
How do I subtract months from a date?
Give EDATE a negative number: =EDATE(A2,-3) is three months earlier.

All challenges

  1. 01Starter, 3 min Add it upSUM
  2. 02Starter, 3 min Find the averageAVERAGE
  3. 03Starter, 3 min Smallest and largestMIN, MAX
  4. 04Starter, 3 min Count what's thereCOUNT, COUNTA, COUNTBLANK
  5. 05Starter, 3 min Write once, fill downRelative references
  6. 06Core, 3 min Lock it with $Absolute references
  7. 07Starter, 3 min Percent of a totalPercentages
  8. 08Starter, 3 min Make the numbers readableNumber formats
  9. 09Core, 3 min Up or down by how much?Percent change
  10. 10Core, 3 min What you see vs what's storedROUND
  11. 11Core, 3 min The typical valueMEDIAN
  12. 12Core, 3 min Select to the end in one moveCtrl + Shift + arrow
  13. 13Starter, 3 min Sort without breaking rowsSort
  14. 14Starter, 3 min Filter to what mattersFilter
  15. 15Starter, 3 min Copy and paste a formulaCtrl+C, Ctrl+V
  16. 16Core, 3 min Paste values onlyPaste Special → Values
  17. 17Core, 3 min Highlight what's over targetConditional formatting
  18. 18Core, 3 min Spot the duplicatesDuplicate Values rule
  19. 19Core, 3 min Pass or fail?IF
  20. 20Core, 3 min Both or either?AND, OR
  21. 21Core, 3 min Exactly one of the twoXOR
  22. 22Core, 3 min Grade bands with nested IFNested IF
  23. 23Core, 3 min Count the ones that matchCOUNTIF
  24. 24Core, 3 min Add up the ones that matchSUMIF
  25. 25Core, 3 min Use a cell as the conditionCriteria in a cell
  26. 26Core, 3 min Partial matches with * and ?SUMIF, COUNTIF with wildcards
  27. 27Core, 3 min Count with two conditionsCOUNTIFS
  28. 28Core, 3 min Add up with two conditionsSUMIFS
  29. 29Core, 3 min Look it upVLOOKUP
  30. 30Core, 3 min Find the right bracketVLOOKUP approximate match
  31. 31Core, 3 min XLOOKUP, the modern wayXLOOKUP
  32. 32Core, 3 min Where is it in the list?MATCH
  33. 33Advanced, 3 min INDEX and MATCH togetherINDEX + MATCH
  34. 34Advanced, 3 min Lock just the row or the columnMixed references
  35. 35Advanced, 3 min Growth per year (CAGR)CAGR with ^
  36. 36Core, 3 min Use a rate from another sheetReferences to other sheets
  37. 37Core, 3 min Catch the error, not the bugIFERROR
  38. 38Core, 3 min Which invoices are missing?Compare two lists
  39. 39Core, 3 min Reconcile the ledger with the bankXLOOKUP or VLOOKUP + IFNA
  40. 40Core, 3 min Join text together&, CONCAT, PROPER
  41. 41Core, 3 min Split first and last namesLEFT, MID + FIND
  42. 42Core, 3 min Stray spaces that break a countTRIM
  43. 43Core, 3 min Flag the bad entriesTRIM, LEN, EXACT
  44. 44Advanced, 3 min Clean a bank descriptionTEXTBEFORE, TEXTAFTER, PROPER
  45. 45Core, 3 min Mistake hunt: #N/A everywhereFixing #N/A
  46. 46Core, 3 min Mistake hunt: hard-coded numbersReferences instead of typed numbers
  47. 47Core, 3 min Mistake hunt: numbers stored as textNumbers stored as text
  48. 48Core, 3 min One of each, then the totalsUNIQUE
  49. 49Core, 3 min Your first pivot tablePivot tables
  50. 50Advanced, 3 min Which category went up most?SUMIFS, change, lookup
  51. 51Core, 3 min How many days late?Date arithmetic
  52. 52Core, 3 min Turn text into real datesDATEVALUE
  53. 53Advanced, 3 min Month ends and working daysEOMONTH, NETWORKDAYS
  54. 54Core, 3 min Renewal datesEDATE
  55. 55Core, 3 min Days overdue and aging bandsDate difference, aging bands
  56. 56Core, 3 min How many late orders?Pick the tool
  57. 57Core, 3 min Sales per repPick the tool
  58. 58Core, 3 min Whose part is it?Pick the tool
  59. 59Core, 3 min Who gets the bonus?Pick the tool
  60. 60Core, 3 min Each region's sharePick the tool
  61. 61Advanced, 3 min Case: the supplier reportCase, five steps
  62. 62Advanced, 3 min Case: the monthly budgetCase, five steps
  63. 63Advanced, 3 min Case: the reorder listCase, five steps

The whole course, in order.

The challenges teach one move each. The course puts them in order and makes you do each one twice, the second time on data you haven't seen.

$29 One time. No subscription. Early-access price. Get Pro for $29

Secure checkout on Stripe.

  • CourseAll 63 ready lessons in order, plus every one we add. The first 5 are free. Each formula lesson ends with a second round on new data, no hints.
  • TestsYour score on the interview practice tests is free. Pro adds the full report: what went wrong on each task, and the lesson for it.
  • 14 daysNot what you hoped for? Full refund within 14 days, no questions. Refunds

Pro isn't open right now

Checkout is closed for the moment, so nothing was charged. Leave your email and we'll write once when it opens. The price is $29, one time.

One email when Pro opens. Unsubscribe in one click. Privacy

Continue

Sign in or create an account

No password. Your solved challenges then follow you to any device.

Signing in sets one cookie that keeps you signed in. Privacy