How to Calculate Month-over-Month Growth in Google Sheets
This month against last month, in dollars and percent. Three short formulas once the monthly totals are in place.
The short answer: with monthly revenue in column B, growth is =B3/B2-1 formatted as a percent. In the sample data, September 2026 was $138,635 and October $142,475, growth of 2.8%.
The sample data
| A | B | C | D | E | F | G | H | I | J | K | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Date | Order ID | Customer | Region | Channel | Product | Category | Qty | Unit price | Revenue | Cost |
| 2 | 2025-01-01 | SO-10001 | Tin Roof Café | Northeast | Sales rep | Sip Lids (case of 1,000) | Supplies | 6 | 54 | 324 | 198 |
| 3 | 2025-01-01 | SO-10001 | Tin Roof Café | Northeast | Sales rep | Espresso Roast 5 lb | Coffee | 10 | 68 | 680 | 370 |
| 4 | 2025-01-01 | SO-10002 | Foxglove Café | Northeast | Online store | Sip Lids (case of 1,000) | Supplies | 1 | 54 | 54 | 33 |
| 5 | 2025-01-01 | SO-10002 | Foxglove Café | Northeast | Online store | Cold Brew Concentrate 1 gal | Coffee | 8 | 42 | 336 | 152 |
| 6 | 2025-01-01 | SO-10003 | Ember Café | Midwest | Online store | Sip Lids (case of 1,000) | Supplies | 4 | 54 | 216 | 132 |
| … | 8,115 more rows | ||||||||||
Sample data: a tab named Orders with 8,120 order lines from January 2025 to October 2026, one row per order line. Revenue is Qty × Unit price; Cost is the line's cost of goods (Qty × unit cost). Download orders.csv and import it (File → Import) to follow along. The business is fictional.
The classic way: monthly totals, then change and percent
Headings in row 1: Month, Revenue, Change, Growth. Months in column A: =DATE(2026,4,1) in A2 and =EDATE(A2,1) copied down to A8, formatted "MMM yyyy". Revenue in B2, copied down:
=SUMIFS(Orders!$J:$J, Orders!$A:$A, ">="&$A2, Orders!$A:$A, "<"&EDATE($A2,1))
The first month has nothing to compare with, so start the comparison in row 3, then copy down:
=B3-B2
=IFERROR(B3/B2-1, "")
The first is the dollar change (C3), the second is the growth rate (D3); format D as a percent. IFERROR keeps a month with zero sales from showing #DIV/0!.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Month | Revenue | Change | Growth |
| 2 | Apr 2026 | $128,136 | ||
| 3 | May 2026 | $125,646 | -$2,490 | -1.9% |
| 4 | Jun 2026 | $136,411 | $10,765 | 8.6% |
| 5 | Jul 2026 | $127,769 | -$8,642 | -6.3% |
| 6 | Aug 2026 | $141,015 | $13,246 | 10.4% |
| 7 | Sep 2026 | $138,635 | -$2,380 | -1.7% |
| 8 | Oct 2026 | $142,475 | $3,840 | 2.8% |
Computed from the sample CSV above. Cells formatted as currency and percent.
Highlight the drops. Select D3:D8, Format → Conditional formatting, "Less than" 0, red text. The months that shrank jump out.
Gotchas
- Comparing a partial month. Ten days of November against all of October always looks like a collapse. Compare full months, or month-to-date against the same days of last month:
=SUMIFS(Orders!J:J, Orders!A:A, ">="&EOMONTH(TODAY(),-1)+1, Orders!A:A, "<="&TODAY())vs the same window a month back usingEDATE(...,-1). - Seasonality. A summer dip followed by a September jump is the calendar, not the business. Year-over-year growth takes the season out.
- Averaging percents. The average of six monthly growth rates is not the growth over six months. For that, compare the last month with the first:
=B8/B2-1. - Months with different lengths. February has fewer selling days. If that matters, compare revenue per day: divide each total by
=DAY(EOMONTH(A2,0)).
The one-cell way: =QUIRIZ
With the Quiriz add-on for Google Sheets, you type the question instead of building the formula. =QUIRIZ does not read the cells around it: it answers from the datasets in your Quiriz account. For this example, upload orders.csv as a dataset, or connect your Shopify store. You can also add a Google Sheet itself as a dataset that refreshes on a schedule. Then, in any empty cell:
=QUIRIZ("monthly revenue from April to October 2026 with the dollar change and percent growth vs the prior month", "table")
The "table" mode spills the answer down and to the right from that cell, header row first:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Month | Revenue | Change | Growth |
| 2 | Apr 2026 | $128,136 | ||
| 3 | May 2026 | $125,646 | -$2,490 | -1.9% |
| 4 | Jun 2026 | $136,411 | $10,765 | 8.6% |
| 5 | Jul 2026 | $127,769 | -$8,642 | -6.3% |
| 6 | Aug 2026 | $141,015 | $13,246 | 10.4% |
| 7 | Sep 2026 | $138,635 | -$2,380 | -1.7% |
| 8 | Oct 2026 | $142,475 | $3,840 | 2.8% |
Same figures as the formula result above, from the same sample data. The spilled cells are plain numbers, so you can format them, total them or chart them; here they are formatted as currency and percent. Column headings are written with each answer and may be worded differently.
The other modes: "verbose" (the default) answers in a sentence, "bullets" writes two to four points one per cell, and "notes" adds how the figure was calculated. Install Quiriz for Google Sheets and try the question on your own data.
Ask the question, get the table
Quiriz answers business questions in a Google Sheets cell, from your imported files, scheduled Google Sheets and connected tools. Free to start.
Install for Google Sheets →Free on the Google Workspace Marketplace. Or try it on sample data first, no signup.