Date & Time
EDATE Function in Excel
Returns a date that is a specified number of months before or after a given date.
Syntax
- =EDATE(start_date, months)
Arguments
- start_date (required): The starting date
- months (required): Months to add (negative for past)
Examples
- =EDATE(TODAY(), 3) - Date 3 months from now - Result: 4/21/2026
- =EDATE(A1, -6) - Date 6 months ago - Result: Past date
- =EDATE(A1, 12) - Same date next year - Result: 1 year later
Excel EDATE function documentation
- EDATE returns the date that is a specified number of months before or after a start date.
- Syntax: =EDATE(start_date, months). Used for renewals, subscriptions, and contract terms.
- Preserves day-of-month when possible — Jan 31 + 1 month adjusts to Feb last day.
- Related: [EOMONTH](/functions/eomonth/), [DATE](/functions/date/), [DATEDIF](/functions/datedif/).
EDATE syntax and month arithmetic
- months positive moves forward; negative moves backward.
- Start from TODAY(): =EDATE(TODAY(), 12) for same day next year approximately.
- Combine with [EOMONTH](/functions/eomonth/) when policy needs month-end not same day.
- Serial result — apply Date number format.
Step-by-step: subscription renewal date
- Step 1 — Signup date in A2.
- Step 2 — Monthly renewal: =EDATE(A2, 1) then fill down row per billing cycle or use sequence.
- Step 3 — Annual renewal: =EDATE(A2, 12).
- Step 4 — Flag due this week: =EDATE(A2, months_since) between TODAY() and TODAY()+7.
- Step 5 — Document month-end vs same-day policy for finance sign-off.
EDATE vs EOMONTH vs DATE month roll
- EDATE — calendar month shift from anchor day.
- EOMONTH — snap to month-end boundary.
- DATE(Y, M+N, D) — manual roll with DATE overflow rules.
- Lease schedules often mix EDATE for start dates and EOMONTH for period cutoffs.
Worked examples to copy
- Three months out: =EDATE(TODAY(), 3).
- Contract start + 24 months: =EDATE(B2, 24).
- Prior quarter same day: =EDATE(TODAY(), -3).
- Renewal list: =EDATE(A2, ROW(A1:A12)) spilled in M365 for monthly series.
People also ask
- EDATE month-end Jan 31? — Feb result adjusts to Feb 28/29 (last day).
- EDATE negative months? — Steps backward from start_date.
- EDATE vs adding 30 days? — EDATE respects calendar months; +30 is fixed days.
- EDATE #NUM!? — Invalid start_date or months argument non-numeric.
Common errors
- Adjusts for month-end (Jan 31 + 1 month = Feb 28)
- Returns serial number
Use cases
- Subscription renewals
- Payment schedules
- Contract dates
Frequently asked questions
- How does EDATE handle month-end dates? EDATE adjusts for shorter months. Jan 31 + 1 month = Feb 28 (or 29 in leap year). The result is always a valid date in the target month.
- What is the difference between EDATE and adding months with DATE? EDATE handles month-end correctly. DATE(YEAR(A1),MONTH(A1)+1,DAY(A1)) can create invalid dates (Feb 31). EDATE always returns valid dates.
- How do I add years with EDATE? Use months: =EDATE(A1, 12) adds 1 year, =EDATE(A1, 24) adds 2 years. Or use DATE: =DATE(YEAR(A1)+1, MONTH(A1), DAY(A1)).
- Can EDATE go backwards? Yes! Use negative months: =EDATE(A1, -3) returns the date 3 months before A1. Useful for historical calculations.
- How do I calculate age in months? Use DATEDIF: =DATEDIF(BirthDate, TODAY(), "M") for total months. EDATE is for adding months, not calculating differences.
Editorial review
- Reviewed by Excel.Directory Editorial Team. Updated May 2026.
When to use EDATE
- Subscription renewals — common Date & Time scenario for EDATE.
- Payment schedules — common Date & Time scenario for EDATE.
- Contract dates — common Date & Time scenario for EDATE.
EDATE in the Date & Time category
- Browse all Date & Time functions at /categories/date-time/ for related formulas.
- EDATE syntax: =EDATE(start_date, months)
- start_date (required): The starting date
- months (required): Months to add (negative for past)
- Confirm EDATE arguments match the syntax shown above before filling down.
- Lock table and range references with $ when copying formulas across rows or sheets.
Formula checklist before you copy down
- Confirm EDATE arguments match the syntax shown above before filling down.
- Lock table and range references with $ when copying formulas across rows or sheets.
- If results look wrong, check for text stored as numbers and invisible spaces with TRIM.
- Spot-check three known input rows manually against expected output.
Related Excel functions
- EOMONTH (/functions/eomonth/): Returns the last day of the month, a specified number of months before or after a date.
- DATE (/functions/date/): Creates a date from year, month, and day components.
- MONTH (/functions/month/): Returns the month of a date as a number from 1 to 12.
- YEAR (/functions/year/): Returns the year of a date as a four-digit number.
Errors to watch for
- Adjusts for month-end (Jan 31 + 1 month = Feb 28) — review causes on linked error pages in the directory.
- Returns serial number — review causes on linked error pages in the directory.
Copy-paste audit workflow
- Enter EDATE on three test rows with known expected output documented on a QA tab.
- Fill down only after absolute references are locked on lookup tables and rate tables.
- Compare against manual calculation or a calculator for financial and statistical functions.
- Search this directory for comparison guides when choosing between similar functions in the same category.
EDATE worked examples to copy
- =EDATE(TODAY(), 3) — Date 3 months from now. Expected result: 4/21/2026.
- =EDATE(A1, -6) — Date 6 months ago. Expected result: Past date.
- =EDATE(A1, 12) — Same date next year. Expected result: 1 year later.
EDATE reference summary for crawlers and offline review
- EDATE belongs to the Date & Time category in Excel. Returns a date that is a specified number of months before or after a given date.
- Full syntax: =EDATE(start_date, months). Open /functions/edate/ for parameters, FAQs, and related pages.
- Common mistakes: Adjusts for month-end (Jan 31 + 1 month = Feb 28); Returns serial number
- Pair this function with comparison guides when another Excel formula might fit the same task better.
- Review fix-excel-formula-errors when unexpected errors appear after upgrading Excel or sharing across locales.