Documentation-based proposal; not a hands-on test
Freeze the input and write the expected grain
Save an untouched copy of the received workbook or export and record its retrieval date. Then write one sentence describing what a row represents: one invoice, one customer-month, one task, or one line item. This is the grain. Many spreadsheet mistakes are not arithmetic errors; they are accidental changes in grain, such as joining one invoice to several payment rows and then summing the duplicated invoice amount.
Record the candidate key for that grain. A customer-month table may require customer_id + month, not customer ID alone. If no stable key exists, say so and treat deduplication as a business decision rather than a cleanup trick.
Run checks in a fixed order
| Check | Question | Failure suggests |
|---|---|---|
| Rows | Did the count change at import, filter, append, or join? | Dropped records or multiplication |
| Keys | Are expected keys unique and nonblank? | Wrong grain or duplicate source records |
| Sums | Do control totals match the source at the same grain? | Formula, filter, sign, or join error |
| Types | Are dates, numbers, and identifiers represented consistently? | Text numbers, truncated IDs, failed date parsing |
| Ranges | Are minima, maxima, blanks, and distributions plausible? | Outliers, unit changes, or missing categories |
The UK Department for Education's quality guidance explicitly calls for row and column counts, missing and duplicated data checks, unique identifiers compared with row counts, filter checks, and internal consistency between data, graphs, tables, and commentary. Microsoft Power Query's profiling tools expose validity, errors, empties, distinct values, and distributions. Its documentation warns that profiling defaults to the first 1,000 rows unless the whole dataset is selected. A clean preview is not necessarily a clean file.
Use control totals at matching granularity
A grand total can match while categories are wrong. Reconcile in layers: overall sum, period sum, then a meaningful business dimension such as project or status. If the source total includes tax but the analysis table does not, document the basis rather than forcing equality. For each mismatch, create a bridge showing excluded, duplicated, reclassified, or adjusted records.
Hypothetically, a freelancer receives 1,240 invoice lines representing 410 invoices. After joining a client table, there are 1,247 lines. The money total rises even though no new invoices were added. Before interpreting client revenue, compare key counts and find which client IDs are duplicated in the lookup. This is an illustrative failure pattern, not a reported test.
Check the narrative last
- Confirm the title, period, currency, units, and inclusion rules.
- Reconcile source and transformed row counts.
- Test key uniqueness and blanks.
- Reconcile sums overall and by at least one meaningful dimension.
- Trace every headline number, chart, and percentage back to a table cell or query output.
Write the interpretation only after the checks pass. Then read each sentence against the figures: “grew” needs a valid comparison period; “largest” needs complete categories; “average” needs the intended denominator. Keep quality notes with the workbook, not in someone's memory.
If the spreadsheet feeds a query, continue with SQL answer validation. If it feeds an automated recurring report, use the release controls in the automation change guide. Reconciliation is the boundary between data preparation and storytelling; crossing it early makes polished errors harder to notice.
Before you hand it over
Use this as a working check, not certification. Checks stay in this page only and reset on reload.
0 of 5 checked
Sources & verification
Product details are based on the linked documentation. The proposed workflow and worked examples are editorial guidance, not measured test results.
- Using the data profiling toolsSource date: 2025-08-28 · Retrieved: 2026-09-19T19:39:00Z
Column validity, errors, empties, distinct and unique values, distributions, and the first-1,000-row profiling default.
- Quality management of official statisticsSource date: 2026-07-30 · Retrieved: 2026-09-19T19:39:00Z
Row-count, key, duplicate, missing-value, filter, aggregation, internal-consistency, narrative, and change-management checks.
Continue the workflow
- Validate the SQL answer before trusting the sentence
Review an analytical SQL query safely before using its output in a report or decision.
- Review an AI-assisted code change as a change, not a speed claim
Decide whether an AI-assisted patch is safe and maintainable without treating generation speed as evidence of quality.
- VisiCalc paired a visible grid with instant recalculation
Dan Bricklin's own site describes VisiCalc's 1979 debut and the point-and-recalculate model spreadsheets still use.
- ChatGPT gained a firewalled Python sandbox for uploaded files
OpenAI's own materials describe Code Interpreter's July 2023 rollout as a sandboxed, firewalled Python environment for uploaded files.