The request

From Jack Sanchez, Financial Analyst
Your goal
In I2:I7, count the returns of each category in G2:G7 with COUNTIFS on B2:B60. In J2:J7, the return rate: returns ÷ lines sold (H2:H7). In K2:K7, count the returns of that category whose reason (C2:C60) equals the reason in H10. In row 8: H8, I8 and K8 add up their columns with SUM, and J8 is the overall rate, I8 ÷ H8.
- Fill
I2:K7, H8:K8with the right valuesnot done yet - With formulas, not typed numbersnot done yet
- Use
COUNTIFSnot done yet
Your sheet
| A | B | C | D | E | F | G | H | I | J | K | L | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | order_item_id | category | reason | returned_on | refund_amount | category | lines_sold | returns | return_rate | damaged | ||
| 2 | 26731 | Textiles | changed_mind | 2025-11-13 | 115.96 | Decor | 464 | |||||
| 3 | 26902 | Textiles | damaged | 2025-11-16 | 169.00 | Furniture | 85 | |||||
| 4 | 26898 | Textiles | wrong_item | 2025-11-17 | 28.99 | Kitchen | 400 | |||||
| 5 | 27194 | Decor | damaged | 2025-11-17 | 104.99 | Lighting | 205 | |||||
| 6 | 27110 | Textiles | wrong_item | 2025-11-18 | 139.00 | Outdoor | 50 | |||||
| 7 | 27133 | Kitchen | damaged | 2025-11-18 | 11.99 | Textiles | 396 | |||||
| 8 | 26916 | Decor | damaged | 2025-11-19 | 25.99 | total | ||||||
| 9 | 26936 | Lighting | late | 2025-11-19 | 109.00 | |||||||
| 10 | 27028 | Decor | damaged | 2025-11-22 | 161.10 | Reason to count | damaged | |||||
| 11 | 27340 | Lighting | changed_mind | 2025-11-23 | 59.98 | |||||||
| 12 | 27347 | Kitchen | wrong_item | 2025-11-24 | 60.99 | |||||||
| 13 | 27442 | Kitchen | changed_mind | 2025-11-24 | 13.99 | |||||||
| 14 | 27473 | Furniture | damaged | 2025-11-25 | 519.00 | |||||||
| 15 | 27179 | Outdoor | late | 2025-11-26 | 782.10 | |||||||
| 16 | 27309 | Lighting | damaged | 2025-11-26 | 207.96 | |||||||
| 17 | 27792 | Decor | damaged | 2025-11-29 | 109.00 | |||||||
| 18 | 27715 | Decor | damaged | 2025-11-30 | 25.99 | |||||||
| 19 | 27925 | Textiles | wrong_item | 2025-11-30 | 28.99 | |||||||
| 20 | 27184 | Decor | changed_mind | 2025-12-01 | 429.30 | |||||||
| 21 | 27547 | Textiles | wrong_item | 2025-12-01 | 86.97 | |||||||
| 22 | 27735 | Kitchen | changed_mind | 2025-12-01 | 436.00 | |||||||
| 23 | 26656 | Textiles | changed_mind | 2025-12-02 | 55.98 | |||||||
| 24 | 26862 | Decor | changed_mind | 2025-12-02 | 12.99 | |||||||
| 25 | 26911 | Kitchen | changed_mind | 2025-12-02 | 179.00 | |||||||
| 26 | 27573 | Kitchen | late | 2025-12-02 | 70.99 | |||||||
| 27 | 27666 | Furniture | damaged | 2025-12-02 | 1241.10 | |||||||
| 28 | 27840 | Textiles | wrong_item | 2025-12-02 | 55.98 | |||||||
| 29 | 27876 | Textiles | changed_mind | 2025-12-02 | 20.99 | |||||||
| 30 | 27893 | Lighting | damaged | 2025-12-03 | 477.00 | |||||||
| 31 | 28016 | Decor | wrong_item | 2025-12-03 | 9.74 | |||||||
| 32 | 26851 | Kitchen | changed_mind | 2025-12-04 | 53.99 | |||||||
| 33 | 27007 | Decor | changed_mind | 2025-12-04 | 215.88 | |||||||
| 34 | 27174 | Textiles | changed_mind | 2025-12-05 | 105.98 | |||||||
| 35 | 27979 | Decor | damaged | 2025-12-05 | 161.10 | |||||||
| 36 | 28006 | Decor | wrong_item | 2025-12-05 | 20.99 | |||||||
| 37 | 28188 | Furniture | changed_mind | 2025-12-06 | 660.45 | |||||||
| 38 | 27769 | Kitchen | changed_mind | 2025-12-07 | 10.99 | |||||||
| 39 | 27620 | Textiles | changed_mind | 2025-12-08 | 20.99 | |||||||
| 40 | 27918 | Lighting | damaged | 2025-12-08 | 189.00 | |||||||
| 41 | 27977 | Textiles | changed_mind | 2025-12-08 | 63.89 | |||||||
| 42 | 28107 | Textiles | wrong_item | 2025-12-09 | 39.74 | |||||||
| 43 | 27165 | Decor | changed_mind | 2025-12-10 | 20.99 | |||||||
| 44 | 27926 | Textiles | changed_mind | 2025-12-10 | 52.99 | |||||||
| 45 | 28286 | Lighting | damaged | 2025-12-11 | 51.99 | |||||||
| 46 | 27597 | Textiles | changed_mind | 2025-12-16 | 28.99 | |||||||
| 47 | 26988 | Textiles | late | 2025-12-17 | 52.99 | |||||||
| 48 | 27128 | Decor | late | 2025-12-17 | 104.99 | |||||||
| 49 | 28253 | Kitchen | changed_mind | 2025-12-18 | 283.96 | |||||||
| 50 | 27562 | Decor | changed_mind | 2025-12-19 | 44.99 | |||||||
| 51 | 27623 | Textiles | late | 2025-12-21 | 556.00 | |||||||
| 52 | 27372 | Kitchen | changed_mind | 2025-12-22 | 218.97 | |||||||
| 53 | 28265 | Decor | changed_mind | 2025-12-23 | 19.99 | |||||||
| 54 | 27833 | Lighting | changed_mind | 2025-12-24 | 59.98 | |||||||
| 55 | 27360 | Textiles | changed_mind | 2025-12-25 | 51.98 | |||||||
| 56 | 27861 | Decor | late | 2025-12-25 | 17.99 | |||||||
| 57 | 27537 | Textiles | changed_mind | 2025-12-26 | 27.99 | |||||||
| 58 | 27755 | Textiles | changed_mind | 2025-12-27 | 139.00 | |||||||
| 59 | 27692 | Textiles | changed_mind | 2025-12-28 | 278.00 | |||||||
| 60 | 28032 | Decor | changed_mind | 2025-12-29 | 13.49 | |||||||
| 61 | ||||||||||||
| 62 |
Loading the editor…
Reference solution
Mote checks your result
Press Check. Each right cell becomes a firefly in your lantern.
What Jack gets, and why
The lesson
A return rate needs two numbers: how many lines came back, and how many were sold. Jack has both,
in two different shapes. The returns are a list, one row per returned line, so you count them.
The lines sold come from the full November export as one number per category, already typed into
H2:H7.
The list in A2:E60 holds the 59 returned lines from completed November 2025 orders, the same
orders the revenue numbers use. It leaves out refunded orders: those were paid back in full, never
counted as revenue, and nearly every line on them comes back, so they would only blur the rate.
COUNTIFS with one criterion
COUNTIFS takes pairs of a range and a criterion and counts the rows where all of them hold:
=COUNTIFS(criteria_range1, criterion1, [criteria_range2, criterion2], …)
There is no range to add up, only ranges to test. In I2:
I2 =COUNTIFS($B$2:$B$60,G2)
Decor (G2) has 17 returned lines. Filled down to I7: Furniture 3, Kitchen 10, Lighting 7,
Outdoor 1, Textiles 21. Matching is not case sensitive, so decor would count the same rows.
From a count to a rate
J2 =I2/H2
Decor: 17 ÷ 464 = 3.66%. With the column formatted as a percentage, the cell holds 0.0366 and
shows 3.66%; type =I2/H2*100 and the format shows 366.38%. Textiles has the highest rate at
5.30%, Outdoor the lowest at 2.00%.
A second criterion from an input cell
Damaged items go to the carrier claim, so Jack wants them counted on their own. The reason sits
in H10, so the claim team can switch it to late or wrong_item without touching a formula:
K2 =COUNTIFS($B$2:$B$60,G2,$C$2:$C$60,$H$10)
Both conditions must hold on the same row: category Decor and reason damaged. Decor has 6.
$H$10 is locked because every row reads the same reason; G2 moves.
The total row
H8, I8 and K8 are plain sums: 1,600 lines, 59 returns, 14 damaged. The overall rate is the
total returns over the total lines:
J8 =I8/H8
That is 3.69%. Typing =AVERAGE(J2:J7) instead gives 3.40%, because a plain average gives each
category the same weight whatever it sold. A rule for every report: a rate in a total row is the
ratio of the totals, never the average of the rates above it.
Read it before you send it
- Small denominators. Outdoor’s 2.00% is 1 return out of 50 lines. One more return would make it 4%. Say “1 of 50” next to the rate.
- Returns are still coming. The data runs to December 31, and a customer can send a late November order back in January. November’s rate can only go up; call it a floor.
Common mistakes
COUNTIFwith two criteria.COUNTIFtakes one range and one criterion; the second pair needsCOUNTIFS.- Averaging the rates in the total row: 3.40% instead of 3.69%.
- Typing
"damaged"into the formula. It works today, but the claim team can’t change the reason without editing six formulas. - Leaving
H10unlocked. Filled down, it becomesH11, an empty cell, and empty matches nothing, so the damaged counts below Decor fall to 0.
Lantern lit!
Practised: countifscriteriaratesweighted average
- Solved
- No hints
- First run
