data85
BlogAug 12, 20263 min readData Cleanup

How to audit a messy spreadsheet before handing it to someone else.

Handing a messy spreadsheet to a colleague is expensive. The first ten minutes are questions ('is this row a refund or a duplicate?'), the next twenty are formula errors that turned the totals wrong, and the afternoon is spent undoing duplication nobody meant to create. A short pre-handoff audit turns that scramble into a clean file the reader can use straight away. The pass is mechanical, takes an hour, and the savings show the same day.

← All posts
01

Column consistency

One thing per column, one format, one convention. ISO dates (2026-08-12), USD to two decimals, sentence-case channel names. Don't accept a mix of formats — accept one and rewrite. The pass is mechanical: pick a column, scan top to bottom, fix every slip, move to the next. The file should look like one person wrote it on one day, even if it took a week and three exports to land. A consistent format is what makes the formulas downstream correct, and makes the file readable in five minutes instead of fifty.

02

Formula errors

Scan every formula for #REF!, #DIV/0!, #VALUE!, #N/A, bare ?, and blank zeros. Each one is a sign the file was patched without review. Replace them with labelled placeholders — [ref-needed], [div-by-zero], [value-error] — and add a one-line note in a side column explaining what should go back in. Look for a SUM range that quietly swallowed a deleted row, a VLOOKUP pointing at a renamed sheet, a custom format that hides the error but not the value. After this pass the totals can be trusted, and any remaining red flag is deliberate, not undeclared.

03

Duplicate rows

Duplicate rows are the easiest thing to remove badly. Sort by canonical key — SKU plus date, invoice plus line, customer plus month — and look at the duplicates. Drop the ones that add no new fact. Keep the ones that carry distinct meaning: a refund, a rebill, an exchange, a partial fulfilment. Where you keep one, label the row in a side column so the next reader knows it isn't a duplicate, it's a reconciliation. A file that hides a refund behind a generic duplicate is worse than one that didn't audit at all.

04

Named ranges

Name every meaningful cell range after the column it represents. Unit prices live in a range called unit_price. SKUs in sku_range. Invoice totals in invoice_total. The single most useful upgrade: formulas now read as sentences. =SUM(invoice_total) over sku_range reads as a sentence — sum the invoice totals across the SKU column — instead of a maze of cell coordinates. A reviewer can spot a wrong range in one glance, and the next formula inserted reads on the same convention. The cost of this pass is ten minutes. The payoff lasts as long as the file does.

Related service

A pre-handoff audit pass — top errors named, duplicates resolved, ranges labelled — returned in a single calendar week.

Data Cleanup

ready

A pre-handoff audit pass — top errors named, duplicates resolved, ranges labelled — returned in a single calendar week.

No hire needed yet — one short email with a sample is enough to start.

3 min read
Flat scope · Fixed quoteOr send a sentence → same business day reply.