How to Calculate Quarter-on-Quarter (QoQ) Growth in Google Sheets

Published on

If you’ve ever tried to calculate Quarter-on-Quarter (QoQ) Growth in Google Sheets, you probably noticed one thing: there’s no built-in function for it. The only way to do it is with formulas—and creating them can be tricky.

In this guide, I’ll walk you through a step-by-step method to calculate QoQ growth, and I’ll also share a single formula solution that generates the full QoQ table instantly. Along the way, I’ll highlight common challenges and tips to handle them.

Why Quarter-on-Quarter (QoQ) Growth Matters

Quarter-on-Quarter (QoQ) growth measures the percentage change in a metric from one fiscal quarter to the next. It’s a powerful tool to quickly track trends, spot unusual spikes, and evaluate short-term performance.

Knowing your QoQ growth helps you:

  • Identify patterns of growth or decline in a specific period.
  • Compare performance against previous quarters for informed decision-making.
  • Spot seasonal trends or unusual fluctuations in your data.

Common use cases:

  • Sales analysis: Track quarterly revenue, units sold, or subscription growth.
  • Financial reporting: Monitor profit, expenses, or cash flow changes each quarter.
  • Business metrics: Evaluate KPIs like customer acquisition, churn rate, or production output.

Calculating QoQ growth in Google Sheets gives you a time-sensitive view of your performance, making forecasting and planning much easier.

Common Challenges When Calculating QoQ Growth

Even with formulas, there are a few common challenges:

  1. Assigning quarters correctly: If you have raw data with dates and amounts, you need to assign each row to the correct quarter based on your financial or fiscal year.
  2. Handling empty quarters: Some quarters might have no transactions. If you don’t handle these, your formula might incorrectly use the previous available quarter, giving a misleading result.
  3. Multi-year datasets: If your data spans more than one calendar or fiscal year, you need formulas that correctly handle year changes to maintain accuracy.

With these challenges in mind, the solution I’m sharing works for single-year or multi-year datasets and handles empty quarters automatically.

Sample Data for QoQ Growth Calculation

Here’s an example dataset in columns Date and Amount (columns A and B in Google Sheets):

DateAmount
01/01/2025$5,000.00
15/01/2025$8,500.00
29/01/2025$5,000.00
12/02/2025$8,500.00
26/02/2025$8,500.00
12/03/2025$5,000.00
26/03/2025$5,000.00

Tip: Make sure your data is sorted by date in ascending order:

  1. Select the range (excluding headers).
  2. Go to Data → Sort range → Sort range by column A (A to Z).

Sorting first keeps the formulas simple and ensures accurate results.

Step 1: Assign Quarter Labels

The first step is to label each row with the correct quarter — either the calendar-year quarter or your company’s fiscal-year quarter. In cell C2, enter:

=ArrayFormula(LET(dt, A2:A, start, 1, fqtr, INT(MOD(MONTH(dt)-start, 12)/3+1), fyrs, YEAR(dt)-(MONTH(dt)<start), fyre, RIGHT(YEAR(dt)+(MONTH(dt)>=start), 2), IF(dt="",,"Q"&fqtr&" FY "&fyrs&IF(start=1,,"-"&fyre))))

Replace start with the month your fiscal year begins.

  • Examples: Jan → 1, Apr → 4, Jul → 7
  • Tip: You can use any month as the starting month of your fiscal year—just enter its number.

This formula automatically assigns a quarter to each date, which is crucial for the next steps.

Assigning quarter labels to dates in Google Sheets for Quarter-on-Quarter (QoQ) growth calculation

Note: You can read the formula explanation in detail in my previous post: Convert Dates to Fiscal Quarters & Years in Google Sheets.

Step 2: List Unique Quarters

To create the QoQ table, you need a list of unique quarters. In cell E2, use:

=TOCOL(UNIQUE(C2:C), 1)

TOCOL flattens the range and removes empty cells, giving you a clean list of quarters for the table.

Listing unique quarters in Google Sheets to prepare for Quarter-on-Quarter (QoQ) growth calculation

Step 3: Calculate Quarterly Sums

Next, sum the amounts for each quarter. In cell F2, enter:

=ArrayFormula(IF(E2:E="",,SUMIF(C2:C, E2:E, B2:B)))

This gives the total for each quarter, which will be used to calculate QoQ growth.

Calculating total amounts per quarter in Google Sheets for accurate Quarter-on-Quarter (QoQ) growth

Step 4: Calculate Quarter-on-Quarter (QoQ) Growth

Now we calculate the QoQ growth percentage. In cell G2, use this formula and drag down:

=TO_PERCENT(IFERROR(
  IF(
    OR(
      AND(VALUE(MID(E1, 2, 1))=VALUE(MID(E2, 2, 1))-1, VALUE(MID(E1, 7, 4))=VALUE(MID(E2, 7, 4))), 
      AND(VALUE(MID(E1, 2, 1))=4, VALUE(MID(E2, 2, 1))=1, VALUE(MID(E2, 7, 4))=VALUE(MID(E1, 7, 4))+1)
    ), 
   (F2-F1)/F1, 
   NA()
  ),"—"
))
Calculating Quarter-on-Quarter (QoQ) growth percentages in Google Sheets using formulas

How it works:

  • Checks if the previous quarter is consecutive (same year or year rollover).
  • Calculates (Current Quarter – Previous Quarter) / Previous Quarter if consecutive.
  • Returns "-" if quarters aren’t consecutive or if the previous quarter has no data.
  • TO_PERCENT formats the result as a percentage.

Copy & Try the Sample Sheet

Dynamic Array Formula (All-in-One) for QoQ Growth

If you prefer a single formula that generates the entire QoQ growth table automatically, try this in a blank column:

=ArrayFormula(LET(
  qtr, TOCOL(UNIQUE(C2:C), 1), 
  amt, SUMIF(C2:C, qtr, B2:B), 
  qtrN, MID(qtr, 2, 1), 
  qtrY, MID(qtr, 7, 4), 
  QoQ, 
    MAP(SEQUENCE(ROWS(qtr)), LAMBDA(r, TO_PERCENT(IFERROR(
      IF(
        OR(
          AND(VALUE(CHOOSEROWS(qtrN, r-1))=VALUE(CHOOSEROWS(qtrN, r))-1, VALUE(CHOOSEROWS(qtrY, r-1))=VALUE(CHOOSEROWS(qtrY, r))), 
          AND(VALUE(CHOOSEROWS(qtrN, r-1))=4, VALUE(CHOOSEROWS(qtrN, r))=1, VALUE(CHOOSEROWS(qtrY, r))=VALUE(CHOOSEROWS(qtrY, r-1))+1)
        ), 
       (CHOOSEROWS(amt, r)-CHOOSEROWS(amt, r-1))/CHOOSEROWS(amt, r-1), 
       NA()
      ),"–"
    )))), 
  VSTACK(HSTACK("Quarter", "Value", "QoQ Growth %"), HSTACK(qtr, amt, QoQ))
))

This formula combines steps 2–4, giving you a fully automated QoQ table instantly.

Complete Quarter-on-Quarter (QoQ) growth table in Google Sheets generated using a dynamic array formula showing quarters, values, and growth percentages

FAQs on Calculating QoQ Growth in Google Sheets

Q: What if a quarter has no transactions?
A: The formula will return "-" for the next quarter’s growth and skip the no-transaction quarter.
If you want the no-transaction quarter to appear with -100% growth, simply include a date in that quarter with an amount of 0.

Q: Can I use this for any fiscal year?
A: Yes! Just update the start parameter in the quarter formula.

Q: Can this work with large datasets?
A: Yes, it works well for hundreds or a few thousand rows. Since the formula uses MAP, performance may slow down with very large datasets (e.g., tens of thousands of rows). For extremely large data, consider breaking it into smaller ranges.

Conclusion

This is the first complete solution on the web for calculating Quarter-on-Quarter (QoQ) Growth in Google Sheets using formulas. With this method, you can track sales, finances, or any metric over multiple quarters and years—fully automated and accurate.

No plugins, no manual calculations—just smart formulas!

Resources

To deepen your understanding and extend your Google Sheets skills for quarterly analysis, check out these related guides:

Prashanth KV
Prashanth KV
Your Trusted Google Sheets and Excel Expert Prashanth KV is a Diamond Product Expert in Google Sheets, officially recognized by Google for his contributions to the Docs Editors Help Community and featured in the Google Product Experts Directory. Explore his blog to learn advanced formulas, automation tips, and problem-solving techniques to elevate your spreadsheet skills.

Top Discussions

More like this

Pivot Table Formatting, Output & Special Behavior in Google Sheets

Pivot Tables in Google Sheets are powerful—but they can get tricky once you move...

Pivot Table Calculations & Advanced Metrics in Google Sheets

When it comes to built-in tools for data analysis and visualization in Google Sheets,...

Google Sheets Pivot Table Tutorial: Basics, Setup, and Date Grouping

The easiest way to summarize, analyze, and report data in Google Sheets is by...

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.