EDATE Function in Excel

If you just need to edate function in excel and move on, the boxed answer at the top is all you need. The rest of this page is for when you want to understand why it works in Excel, adapt it to a trickier version, or make it robust enough to hand to a colleague. We keep the opening short on purpose — the depth is here when you want it, not in your way when you don’t.

Exact answer

In Excel: use =EDATE(start_date, months) — it adds or subtracts whole months while keeping the same day number, clamping where the target month is shorter.

On this page8

Syntax

=EDATE(start_date, months)

Arguments

Argumentrequired / optionalDescription
start_daterequiredThe reference date.
monthsrequiredMonths to add. Negative values go backwards.

Related functions

EOMONTHDATEDATEDIF
▤Annotated stepsExcel
1

Select the result cell and type =EDATE(.

2

Select the start date, then a comma.

3

Enter the number of months — negative to go backwards.

4

Format the result as a date. Check a month-end start value to confirm the clamping suits your case.

Ctrl+CthenCtrl+Shift+V⌘+Cthen⌘+Ctrl+VPaste values · WindowsMac

What this does

EDATE shifts a date by a number of months, keeping the day of the month the same. That sounds trivial until you try it by hand: adding one month to 31 January has no obvious answer, and EDATE clamps it to 28 or 29 February rather than rolling into March. Adding 30 days instead — the naive alternative — gives 2 March, which is wrong for a monthly subscription, a rent cycle or a contract term. Negative values go backwards, which is how you build a same-period-last-year comparison. Keep the inputs visible and clearly labelled and the whole thing stays auditable — anyone who opens the file later, including you, can see at a glance exactly what feeds the result and change one assumption without hunting through the formula. The difference between a quick fix and a sheet you can trust is the extra minute you spend validating “edate function in excel”. Start on a copy or a tiny sample, keep the affected formula visible, and compare the result with the outcome you expected before you touch the real workbook. When a formula is involved, keep the inputs labelled beside it, reference cells instead of typing values, and apply number formatting only after the result checks out. The point is a calculation you can defend to a CFO or an auditor, but the practical win is that someone else can open the file and understand what happened without asking you.

A worked example

A subscription renewal three months out: =EDATE(A2, 3). The same month a year earlier for a year-on-year comparison: =EDATE(A2, -12). The clamping in action: =EDATE("2026-01-31", 1) returns 28 February 2026, not 3 March. A twelve-month schedule down a column: =EDATE($A$2, ROW()-1). EDATE keeps a monthly cycle aligned to its day of the month, which adding 30 days cannot do. Check the referenced cells, argument order and result type in your workbook. Start with the worked example before changing an input, then compare the changed result with the calculation you expected. An error value or a result of a different type is a reason to inspect the inputs and arguments.

In Google Sheets

Google Sheets support for this task has not been verified. Check the function, arguments and workflow in the target product before transferring the example. Matching formula notation does not establish identical behaviour. The aim was to get you unstuck fast and leave you a little more capable than a copy-paste would. The answer is at the top and the detail above shows why it holds — so the next time a colleague asks, you can answer without reaching for search. For “edate function in excel”, keep the input cells and the result visible while you check the formula in Excel. Follow the worked example and change one input at a time. The steps explain the workbook calculation; this page does not run a live calculator for that task.

Common mistakes

  • Adding 30 days instead of using EDATE, which drifts out of alignment within a few cycles.
  • Expecting 31 January plus one month to be 31 February; EDATE clamps to the last valid day.
  • Using EDATE where the requirement is a month END regardless of the start day — that is EOMONTH.

Frequently asked questions

How do I add months to a date?

=EDATE(A2, 3) adds three months and keeps the day number where the target month allows it.

What happens on 31 January plus one month?

You get 28 or 29 February. EDATE clamps to the last valid day rather than rolling into March.

How do I compare to the same month last year?

=EDATE(A2, -12) shifts back exactly twelve months.