Data → Answers
Teach yourself PivotTables — well enough to teach them.
How this deck works
Driving it
Click (or → / Space) — build the current slide one step at a time, then move on
← — undo one step, then one slide
E — edit any text in place (Ctrl+S saves a copy)
Rail (left) — jump between the 7 sections
The colour key — memorise this
Prerequisite knowledge
✔ Excel tables
Insert ▸ Table → Sessions[Hours]
This deck builds every pivot on an Excel Table. You'll need to know how to turn a range into a Table and what a structured reference looks like — if that's unfamiliar, pause here, look it up, and come back.
✔ Basic aggregation
SUM · COUNT · AVERAGE
You'll need to know what these three do to a column of numbers. Nothing beyond that — no lookup functions are required for this deck.
Meet your two datasets
Both are logs: one row per event, growing downwards forever. That shape is exactly what PivotTables are for — and if a technique works on both, it's genuinely understood.
12 rows · who trained, where, what kind of session, how long.
10 rows · which language was practised, what category, for how many minutes.
Twelve rows, one simple question
"Total training hours by state?" The log holds the answer, but no single cell contains it. The formula way works — watch what it costs.
=SUMIFS(Sessions[Hours], Sessions[State], "NSW")
=SUMIFS(Sessions[Hours], Sessions[State], "QLD")
=SUMIFS(Sessions[Hours], Sessions[State], "SA")
(first 8 of 12 rows shown)
The five pains of summarising by hand
None of these are your fault — they're what happens when the summary is hand-built instead of generated.
One formula per answer
A 5-state × 3-session breakdown is fifteen SUMIFS. Every cell is another chance to slip.
→ PivotTable fixes thisData grows, summary doesn't
New rows land below your range and silently miss the totals — unless you re-point every formula.
→ PivotTable fixes thisLayout by hand
The row labels, the column headers, the grand total — you type and align all of it yourself.
→ PivotTable fixes thisTypos look like answers
Misspell "NT" in a criterion and you get a confident, wrong zero.
→ PivotTable fixes thisNew question = rebuild
"By state" becomes "by month" and the whole sheet of formulas is landfill.
→ PivotTable fixes thisThe four areas — the whole machine
Insert ▸ PivotTable gives you an empty grid and this panel. Everything a pivot ever does is dragging field names into four boxes.
Filters
Narrow the whole report to the rows you care about.
Columns
Slice across — one column per value of this field.
Rows
Group by — one row per value of this field.
Values
Do the maths — sum, count or average a number for every group.
The sentence you'll teach
Every pivot — no matter how elaborate — is these three plain-English chunks:
First build: hours by state
The SUMIFS question from before — answered by two drags and zero typing. Watch the field list on the left feed the well, and the well shape the result.
PivotTable fields
DatePlayer StateSession HoursFilters
Columns
Rows
StateValues
Sum of Hours"Sum of Hours" is a choice, not a fact
Click any value pill and open Value Field Settings — the same drag can answer four different questions. Watch the numbers change while the layout stays put.
VALUE FIELD SETTINGS
One more drag: a two-way breakdown
Remember pain ① — fifteen SUMIFS for a state × session grid? Here it is for the cost of dragging Session into Columns.
Filters
Columns
SessionRows
StateValues
Sum of HoursSwap the fields — that's why it's called a pivot
The same report turned on its side: drag State to Columns and Session to Rows. Nothing recalculates from scratch — the summary just re-shapes around your question.
Filters
Columns
StateRows
SessionValues
Sum of HoursThe fourth box: Filters
Drag Player into Filters and the whole report narrows to whoever you pick — here, Talia Rourke. Every number recomputes from just her rows.
Filters
PlayerColumns
SessionRows
StateValues
Sum of Hours(matrix abbreviated — QLD, SA and WA rows behave the same way)
Read the gaps: a blank is not a zero
QLD's Fitness cell is empty. That doesn't mean "zero hours of fitness training happened" as a measured fact — it means no rows in the log matched QLD + Fitness at all. Same arithmetic, different story: nothing was recorded.
The Count trap
Values does Sum for numbers and Count for everything else. That rule is helpful right up until it silently counts something you meant to add up.
Filters
Columns
Rows
StateValues
Count of PlayerSame numbers as shares: % of Grand Total
Right-click any value ▸ Show Values As ▸ % of Grand Total. The underlying sums don't change — only how they're expressed. "NT does a third of all training" lands harder than "8.5 hours".
SHOW VALUES AS
Values holds more than one field
Drop a second field into Values and each group reports both. Hours and session counts, side by side — this is where a pivot starts looking like a finished report.
Filters
Columns
Rows
StateValues
Sum of HoursCount of SessionContext switch: the practice log
Same skill, new world. tblPractice logs language study: one row per sitting, with the language, a category, minutes spent, and new words learned. If the four-areas sentence works here too, it's truly yours.
Say the sentence, make the drags
"Group by Language, no slicing, do maths on Minutes." Two drags — same rhythm as the hockey build, different world.
PivotTable fields
DateLanguage CategoryMinutes NewWordsFilters
Columns
Rows
LanguageValues
Sum of MinutesSlice it: language × category
Add Category to Columns and the study pattern appears: Greetings dominate everywhere, and only Chinese has touched Numbers.
Filters
Columns
CategoryRows
LanguageValues
Sum of MinutesDates group themselves
Drag Date into Rows and every single day gets its own row — too granular. Right-click any date ▸ Group ▸ Months, and the calendar folds up for you. No helper columns, no MONTH() formulas.
before — one row per date
GROUP
after — grouped by month
The #1 gotcha: a pivot is a snapshot
A pivot does not watch the source data. Edit the log and the pivot sits there, confidently showing yesterday's answer, until you tell it to look again.
the source — Talia's match gets corrected
the pivot — hours by state
Always build on a Table, never a range
A pivot built on A1:E13 will never see row 14. A pivot built on tblSessions inherits every new row automatically — refresh, and they're in the numbers.
Three finishing touches
Raw pivots read like machine output. Three thirty-second fixes turn one into a report: rename the value header, format the numbers, sort by the value.
The cheat sheet — screenshot this one 📸
Which box does it go in?
| A | "breakdown by X" → X to Rows |
| B | "compare across Y" → Y to Columns |
| C | "total / count / average N" → N to Values |
| D | "only for Z…" → Z to Filters or a Slicer |
Values can be…
| Σ | Sum (default for numbers) |
| # | Count (default for text) |
| x̄ | Average, Max, Min… |
| % | Show Values As ▸ % of Grand Total |
Remember
- Build on a Table, not a range
- Edited the source? Refresh
- "Count of" a number = text in disguise
- Blank cell = no matching rows, not zero
- Right-click dates ▸ Group ▸ Months
- Never type into a pivot — fix the source
When it goes wrong — the usual suspects
Stale numbers
The source changed; the pivot didn't.
Fix: right-click ▸ Refresh. Every time. It's never automatic.
"Count of Hours"
You wanted Sum but a numeric field arrived as Count — the column holds text-formatted numbers (or blanks).
Fix: clean the source column to real numbers, refresh, re-drag.
Missing rows
New data sits below a fixed-range source and never joins the totals.
Fix: rebuild the pivot on a Table (Insert ▸ Table first).
Can't create the pivot
Merged cells or blank header cells in the source stop the dialog cold.
Fix: unmerge everything; give every column a one-cell header.
Edited a pivot cell
You typed over a value and Excel refused — pivot output is read-only.
Fix: that's by design. Change the source data, then refresh.
Golden rule
The pivot is a view, the Table is the truth. Every fix above is some version of: repair the source, then refresh the view.
Now teach it
Your six talking points
- The sentence: group by this · slice by that · do maths on those. (Filters narrow the stage first.)
- Four boxes are the whole machine — Rows, Columns, Values, Filters. Text fields group; number fields calculate.
- Sum is a choice — Value Field Settings switches it to Count, Average, Max, or % of total.
- A pivot is a snapshot — edit the source, then Refresh. It never updates itself.
- Blank ≠ zero — a gap means no rows matched, and "Count of" a number means text in disguise.
- Build on Tables — new rows then flow in on every refresh.
Three challenges — click to reveal each answer
If you can walk someone through these three, you own it.