In Excel: use =SUBTOTAL(9, range) — it sums only the visible rows, so a filtered table's total updates as you filter instead of staying stuck on the full set.
Syntax
Arguments
| Argument | Description | |
|---|---|---|
function_num | required | Which calculation to run: 9 sums, 1 averages, 3 counts. Add 100 (109, 101, 103) to also ignore manually hidden rows. |
ref1 | required | The range to aggregate. Further ranges can follow. |
Related functions
Click a cell above or below the data — not inside the filtered range itself.
Type =SUBTOTAL( and then the function number: 9 for a sum.
Add a comma and select the data range.
Press Enter, then apply a filter and watch the total change to match what is on screen.
Need it as an auditable file?
Ships inside the linked template — formula-driven, unlocked, audit-ready.
What this does
SUBTOTAL runs one of eleven aggregations, chosen by a number, and — crucially — ignores rows hidden by a filter. That is what makes a filtered table's total honest: a plain SUM keeps totalling rows the filter has removed from view. The function number chooses the operation (9 = SUM, 1 = AVERAGE, 2 = COUNT, 3 = COUNTA, 4 = MAX, 5 = MIN). Adding 100 to it (109, 101 and so on) additionally excludes rows you hid by hand, not just filtered ones. SUBTOTAL also ignores any nested SUBTOTAL inside its own range, so section totals do not get double-counted in a grand total. 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. For “excel table subtotal”, the reliable version is a short checking loop, not just the first command that appears to work. Run it on a deliberately small range first, watch how the affected cells change, and only then apply the same setup to the full sheet. 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. That is what makes a calculation you can defend to a CFO or an auditor useful in real work: repeatable, auditable, and not dependent on memory or luck.
A worked example
Above a filtered sales table, =SUBTOTAL(9, D2:D500) shows the total of just the rows currently visible and recalculates on every filter change. To average only visible rows, =SUBTOTAL(1, D2:D500). To exclude manually hidden rows as well as filtered ones, =SUBTOTAL(109, D2:D500). SUBTOTAL is what makes a filtered report tell the truth, because it totals what the reader can actually see. A practical tip before you scale it up: build it once on a small block of test data, confirm the number against the tool on this page, and only then point it at your real sheet. That one habit catches almost every mistake while it is still cheap to fix, long before a wrong figure reaches a report or a colleague.
In Google Sheets
Everything above works in Google Sheets too. Excel and Sheets share the formula syntax used here; only the surrounding menus are arranged differently. That portability is deliberate — learn it once and it follows you between the two tools and across Windows and Mac. Nothing on this page is behind a login: the tool runs entirely in your browser, the formula is shown in full with one-click copy, and the steps work the same on Windows and Mac. That is the whole promise here — the exact answer, a way to prove it on your own numbers, and just enough context to make it stick. The short version of “excel table subtotal”: the answer is at the top of this page, the tool proves it on your own numbers, and the sections above explain why it holds so the next variation does not stump you. Excel rewards people who reference cells instead of typing values and who keep inputs separate from formulas, because that is what makes a result you can audit months later. Build it once, deliberately, with the live tool as a check, and you convert a one-off lookup into a reusable skill — which is the whole point of learning the why and not just the what.
Common mistakes
- Using 9 when rows were hidden by hand rather than filtered — 9 still counts those. Use 109 to exclude both kinds.
- Placing the
SUBTOTALcell inside the filtered range, where the filter can hide the total itself. - Reaching for
SUBTOTALwhen the requirement is a condition rather than a filter;SUMIFSis the right tool for "sum where region = West".
Frequently asked questions
What is the difference between SUBTOTAL and SUM?
SUM totals every row in the range regardless of filtering. SUBTOTAL(9, …) totals only the rows a filter is currently showing.
What do the function numbers mean?
1 AVERAGE, 2 COUNT, 3 COUNTA, 4 MAX, 5 MIN, 6 PRODUCT, 7 STDEV, 8 STDEVP, 9 SUM, 10 VAR, 11 VARP. Add 100 to any of them to also ignore manually hidden rows.
Does SUBTOTAL double-count nested subtotals?
No. It deliberately ignores other SUBTOTAL results inside its range, so a grand total over sections stays correct.
Other ways people ask this
People reach this page typing “excel table with subtotals”, “subtotal excel table” and “excel subtotals in a table”, among other phrasings; whichever wording you used, the fix above is the one you want.
Why do people search for this in so many different ways?
Because the same task has many names. “excel table with subtotals”, “subtotal excel table”, “excel subtotals in a table” all point at the one operation explained on this page, which is why they all lead here.