AI Table Explainer Tutorial: Spreadsheet to Narrative

Turn a spreadsheet into a 4-sentence executive narrative with AI. Two paths (paste a pivot vs. upload to a code-running tool), exact 2026 tool limits, and a number-by-number fact-check.

TL;DR

A 12-tab spreadsheet that took two days to build gets 30 seconds from a VP, who then asks “so what?”. This workflow turns the table into a four-sentence narrative that survives the 30-second test, with the table attached as evidence. There are two ways to do it in 2026:

  • Small, already-summarized table (under ~50 rows): paste the pivot as text and ask any model to narrate. Fast, no upload, works on free tiers.
  • Large raw file (thousands of rows): upload the file to a tool that runs real Python on it — ChatGPT Advanced Data Analysis or Claude with code execution — so the totals are computed, not guessed.

Either way, the model writes prose. You still fact-check every number against a cell. That step is non-negotiable.

Who this is for

Analysts, PMs, finance, and ops — anyone who explains numbers to people who do not live in spreadsheets. Especially useful for weekly KPI emails, board pre-reads, and any meeting where the table is on the screen but the audience needs sentences. Not for analysts presenting to other analysts, who actually want the raw table.

When to reach for it

Weekly KPI reports, quarterly business reviews, ad-hoc deep dives where leadership wants the “headline”, investor updates, and post-launch debriefs. Also useful when you inherit a recurring report from someone else and need to learn what the numbers usually do: having AI narrate six weeks of historicals is faster than reading them yourself.

Pick the right path first

The old advice — “always pivot to under 50 rows before pasting” — was written when chat models did math in their heads and got it wrong. As of June 2026 the better tools execute code, so the choice is about file size and whether you trust the model’s arithmetic.

PathBest whenWhat the model actually doesFree option
Paste a pivot (text/markdown)Table already aggregated, under ~50 rowsReads numbers as text, writes prose; does NOT recomputeYes — any chat model
Upload raw file, run codeThousands of rows, you want real totalsWrites and runs Python (pandas) on the file; numbers are computedLimited on free tiers

For the paste path, model size barely matters — a 50-row table and a four-sentence ask is well within Claude Sonnet 4.6, GPT-5.5, or Gemini 3.1 Pro. For the upload path you need a tool with a code sandbox; see the tool table below.

Tools and exact limits (as of June 2026)

ToolFile uploadRuns real code on dataPlan to get it
ChatGPT (Advanced Data Analysis).xlsx / .csv, ~50 MB per file (spreadsheets are exempt from the token limit)Yes — sandboxed Python + pandasFree has tight limits; Go $8, Plus $20, Pro $100/$200
Claude (code execution)30 MB per file, up to 20 files per conversationYes — code execution tool, plus an Excel add-inFree limited; Pro $20 ($17/mo annual)
Gemini in Google SheetsWorks on the live sheet; =AI() per cell and “Fill with Gemini”Operates inside Sheets; multi-table analysisGoogle AI Pro $19.99 (formerly “Gemini Advanced”)
Copilot in ExcelWorks on the open workbook; “Analyze Data” + Python in ExcelYes — Python-in-Excel via Copilot editsMicrosoft 365 Copilot add-on

Two facts worth internalizing: when ChatGPT or Claude runs code on an uploaded file, the totals are real pandas output, not a guess — that fixes the classic “AI invented the sum of 5,000 rows” problem. But the moment you paste numbers as plain text, the model is reading characters and writing more characters, so it can still mis-transcribe a percentage. The fact-check below applies to both paths.

Step by step (paste path)

  1. Aggregate first. Pivot or group by the right dimension (week, segment, region) so the table is under ~50 rows. Include row and column totals if they exist.
  2. Export as a compact markdown table, or paste as CSV with headers.
  3. Prompt with explicit framing. Tell it who the reader is and what to compare against:
Audience: VP of Sales, 30 seconds, decision-oriented.
Comparison: vs prior 4-week average.
Output: 4 sentences. Cover (1) headline, (2) biggest positive,
(3) biggest miss, (4) one anomaly to investigate.
Do not editorialize. Do not use "leverage", "synergy", or "momentum".
Treat the columns I marked % as already-percentages; do not re-divide.
Table:
[paste table here]
  1. Review the narrative line by line. Cross-check every number, percentage, and direction against the table. Models still confuse “up 12%” with “up 12 percentage points”.
  2. Edit for voice. AI defaults to a generic professional register. Replace one or two sentences with how you actually talk in Slack.
  3. Pair the narrative with the table in the deliverable. The narrative leads, the table is evidence. Do not delete the table — execs check it after they read the narrative.

Step by step (upload path, large files)

  1. Drop the raw .xlsx or .csv into ChatGPT (Advanced Data Analysis) or Claude with code execution on. No pre-pivot needed.
  2. Ask it to compute, then narrate, in one prompt: “Group by week, sum revenue and units, then write the 4-sentence VP narrative above.” This forces the model to run code for the numbers before it writes prose.
  3. Ask it to show the pivot it computed. Now you have a checkable intermediate table — verify two or three cells against the raw file yourself.
  4. Then apply the same line-by-line number audit and voice edit as the paste path.

The upload path removes the hallucinated-total risk but adds an upload step and, on free tiers, a usage cap. For a recurring weekly report, the paste path is usually faster; for a one-off 200,000-row dump, upload and let it run code.

First-run exercise

Pick a report you already wrote by hand last week. Run the same pivot through AI and compare. Mark each AI sentence as: factually correct and useful, factually correct but generic, or factually wrong. Most analysts find AI gets the headline right but invents anomalies — there is no “spike” if the segment only has three data points. For the second run, change only the audience tag in the prompt; keep the table and the comparison frame the same. You should see the verbs and the lead sentence shift, not the underlying analysis.

Quality check

  • Number audit: pick three numbers from the narrative at random and trace each back to a table cell. If any does not match, the whole draft is suspect.
  • Anomaly test: does the “anomaly” actually deviate by more than two standard deviations or a meaningful business threshold? If not, drop it.
  • Comparison frame stated: every percentage must say “vs what”. A 12% increase vs last week, vs last year, and vs plan are three different stories.
  • Decision test: after reading the narrative, can the reader name one action they would take? If not, you described instead of explained.
  • Privacy sweep: no customer name, no internal codename, no individual employee by name unless it is a public press item.

Privacy: what leaves your machine

On the paste path you choose exactly what to send, so strip PII, customer names, and internal codenames before pasting — replace with role tags like Customer A or EU segment. The narrative does not need to know it was “Acme”; “Customer A” reads identically. On the upload path the whole file goes to the vendor, so check your plan’s data-retention setting (ChatGPT and Claude both offer ways to keep chats out of model training) and, for regulated data, aggregate before upload anyway.

How to reuse this workflow

  • Save three prompt templates: weekly KPI narrative, quarterly review narrative, anomaly investigation. Each is the same skeleton with a different audience tag.
  • Standardize the pivot shape across reports — same dimensions, same comparison columns. AI gets dramatically more consistent when the table shape stops changing.
  • Keep a numbers-AI-got-wrong/ log. Patterns emerge: percentage point vs percent, small denominators rounded away, direction inferred from absolute values. Add these to the prompt as explicit rules.
  • Every quarter, rerun an old narrative against the current model (GPT-5.5, Sonnet 4.6, Gemini 3.1 Pro). If the headline still holds, your prompt is robust; if not, see which sentence type drifts.

Common mistakes

  • Pasting raw transactional data as text and expecting correct sums. If you paste it, the model reads it as text and may invent the total. Want real math? Upload the file and make it run code.
  • Not fact-checking AI numbers — at least one number per draft is often silently wrong, even on the upload path (the prose can drift from the computed pivot).
  • Letting AI invent anomalies that are not statistically real, especially on small segments.
  • Skipping the comparison frame — “revenue up 12%” with no baseline is meaningless and reads as spin.
  • Replacing the table with the narrative — executives lose trust when they cannot verify.
  • Reusing the same narrative voice for exec, peer, and ops audiences. The headline changes per audience, not just the wording.

FAQ

  • My data is sensitive. Can I still use AI?: Yes. On the paste path, aggregate first (no row-level data) and replace identifiers with tags. On the upload path, check your retention setting and prefer an aggregated file for regulated data.
  • Do I still need to pivot to 50 rows first?: Only on the paste path. If you upload to ChatGPT Advanced Data Analysis or Claude with code execution, it runs Python on the raw file and computes the totals, so a pre-pivot is optional.
  • Why is AI getting percentages wrong?: Usually the table mixes implicit percentages with absolute values. State in the prompt which columns are absolutes and which are already percentages. This bites hardest on the paste path, where the model is not running code.
  • Can AI find anomalies for me?: It can flag candidates but over-flags on small samples. Treat AI anomalies as “look at this”, not “this is real”.
  • Should I use a chart instead of a narrative?: Use both. A chart shows shape, a narrative gives the verdict. Executives want the verdict first.
  • What model is enough?: For a 50-row paste and a 4-sentence narrative, any current model (Sonnet 4.6, GPT-5.5, Gemini 3.1 Pro) is fine. For large raw files, what matters is the code sandbox, not the model size.

Tags: #Tutorial #Productivity #Excel