Excel guide · 4 min read
How to calculate year-over-year growth in Excel
=C11/B11-1. Sales went from $5,920 to $6,640, so YoY growth is 12.2%.Sample data
Every result on this page was calculated from this sheet by the same spreadsheet engine the Cellwise app uses.
| A | B | C | D | E | F | G | H | I | J | |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Month | 2025 | 2026 | YoY % | Date | Amount | Setting | Value | ||
| 2 | Jan | 0 | 3880 | Oct 3, 2025 | 410 | Month start | Oct 1, 2026 | |||
| 3 | Feb | 3150 | 3620 | 0.14920634921 | Oct 17, 2025 | 655 | Margin last year | 0.32 | ||
| 4 | Mar | 4020 | 4510 | 0.12189054726 | Oct 29, 2025 | 380 | Margin this year | 0.35 | ||
| 5 | Apr | 4410 | 4290 | -0.027210884354 | Nov 4, 2025 | 520 | ||||
| 6 | May | 4880 | 5470 | 0.12090163934 | Sep 28, 2026 | 300 | ||||
| 7 | Jun | 5230 | 5860 | 0.12045889101 | Oct 2, 2026 | 540 | ||||
| 8 | Jul | 5010 | 5390 | 0.075848303393 | Oct 15, 2026 | 720 | ||||
| 9 | Aug | 4760 | 5150 | 0.081932773109 | Oct 30, 2026 | 465 | ||||
| 10 | Sep | 5340 | 5810 | 0.088014981273 | ||||||
| 11 | Oct | 5920 | 6640 | 0.12162162162 | ||||||
| 12 | Nov | 6810 | ||||||||
| 13 | Dec | 8450 |
Download this sheet as an Excel practice file (.xlsx)
The YoY formula
Put months down column A and one year per column. Then this year / last year - 1 is the growth for that month. =(C11-B11)/B11 gives exactly the same answer and reads more like the definition: the change divided by where you started.
Format the cell as a percentage (Home > Number > %, or Ctrl+Shift+%). Don't multiply by 100, or Excel shows 1216%.
Compare a month with the same month a year earlier, not with last month. October against September mixes growth with seasons. This shop's December is always its best month, so a drop in January isn't news.
Result: 0.12162162162 shows as 12.2% with Percent format
About 0.1216, which shows as 12.2%: October grew by $720.
A YoY column that handles blanks and a zero base
Copy the plain formula down and two rows break. January 2025 is 0 (the shop opened in February), so January gives #DIV/0!. Growth from zero has no meaningful percentage, so show nothing, or "new". November and December 2026 haven't happened yet, so they'd show -100%, which looks like a disaster.
The formula in column D checks both: if last year is 0 or this year is still blank, it returns an empty string. Use "n/a" instead of "" if you'd rather see a label.
If last year was negative (a loss turning into a smaller loss), the plain formula gets the sign backwards: going from -500 to -200 gives -60%. Divide by ABS(last year) to get +60%, or just report the change in dollars, which nobody misreads.
Result: 0.14920634921 shows as 14.9% with Percent format
About 0.1492, which shows as 14.9%: February. Row 2 (January) and rows 12-13 (November, December) stay blank.
Year-to-date growth: compare the same months
For YTD, add up this year so far and the same months last year. The trap is comparing 10 months of 2026 with 12 months of 2025: =SUM(C2:C13)/SUM(B2:B13)-1 says -12.7%.
=SUMIFS(B2:B13,C2:C13,"<>") only adds last year's months that have a value this year, so both sides cover January to October. That gives 18.5%. But it's still flattered: January 2026 ($3,880) is compared with a January 2025 of $0.
For a like-for-like YTD, use only months that have both years. The formula below adds this year's sales where last year was above 0, and last year's where this year isn't blank: February to October, $46,740 vs $42,720, or 9.4%. That's the honest number.
Result: 0.094101123596 shows as 9.4% with Percent format
About 0.0941, which shows as 9.4%: February to October in both years.
Same month last year from a dated sales list
If your data is a list of dated sales instead of a monthly table, let SUMIFS build both months from one start date. EDATE(J2,-12) is the same day 12 months earlier (Oct 1, 2025), and EDATE(J2,-11) is the start of the month after it. Using "<" the next month start includes every time of day on the last day.
October 2026 adds up to $1,725 and October 2025 to $1,445, so YoY is 19.4%. Change J2 to any month start and both halves move together. For fiscal years that don't start in January, the same pattern works with a fiscal year start in J2 and EDATE(J2,12) as the end.
Result: 0.1937716263 shows as 19.4% with Percent format
About 0.1938, which shows as 19.4%: $1,725 vs $1,445.
Rates: percentage points vs percent
When the thing you're comparing is already a percentage (margin, conversion rate, churn), say which change you mean. A margin going from 32% to 35% is up 3 percentage points, =J4-J3. It's also up 9.4% relative to where it was, =J4/J3-1.
Both are correct, and they're easy to confuse in a report. "Margin grew 3 points" is the clear one. If you write "margin grew 9.4%", someone will read it as 41.4%.
Result: 0.03 shows as 3.0% with Percent format
0.03, which shows as 3.0%: three percentage points.
Common mistakes
Averaging the monthly YoY percentages
The average of the monthly % here is 9.47%, close to but not the same as the 9.4% from the totals. Big and small months count the same in an average of %. Use totals for the period.
Comparing a partial year with a full year
For YTD, add only the months both years have, with SUMIFS on a not-blank or above-zero test.
Dividing by zero or a negative base
Wrap the formula in IF(B2=0,"",...) and use ABS(B2) as the divisor when last year can be negative.
Multiplying by 100 and adding a % format
Excel's % format already multiplies by 100. Use one or the other.
FAQ
What is the formula for year over year growth in Excel?
=this_year/last_year-1, or =(this_year-last_year)/last_year, formatted as a percentage. Both give the same result.
How do I calculate YoY growth in a pivot table?
Put the date in Columns grouped by Years, sales in Values, then Show Values As > % Difference From, with Base field Years and Base item (previous). Group the dates by Months and Years to get it per month.
How is YoY different from CAGR?
YoY compares one period with the same period a year earlier. CAGR is the steady yearly rate that gets you from a start value to an end value over several years, which smooths out the ups and downs.
Why does my YoY show -100%?
This year's cell is blank or 0, usually because the month hasn't happened yet. Add a test like IF(C2="","",C2/B2-1) so future months stay empty.
Functions used
SUMAdds numbersSUMIFSAdds with several conditionsEDATESame day, months laterIFPicks a result from a testORTrue if any test is trueABSAbsolute value
Related guides
- How to calculate percent change in Excel
- How to calculate CAGR in Excel
- How to sum by month in Excel
- SUMIFS between two dates in Excel
- How to calculate MRR (monthly recurring revenue) in Excel
- Excel formulas cheat sheet: the 25 everyone should know
Updated