DataNinja

Clean up a messy spreadsheet

Merged cells, dates in three formats, totals pretending to be data. Upload it and get back clean data, with every row accounted for.

What that looks like

A roster, run through the same cleaner your file goes through — not a recording. Two title rows above the headings, three date formats in one column, a name with spaces around it, a blank row and a total row pretending to be data.

What went in

Weekly roster,,,,
Site: Wollongong,,,,
Name,Date,Start,Finish,Hours
 Priya Raman ,03/04/2026,09:00,17:00,8
Tom Nguyen,2026-04-04,09:00,17:30,8.5
Alicia Fox,5 Apr 2026,10:00,16:00,6
,,,,
Priya Raman,06/04/2026,09:00,17:00,8
TOTAL,,,,30.5

What came back

NameDateStartFinishHours
Priya Raman03/04/202609:0017:008
Tom Nguyen04/04/202609:0017:308.5
Alicia Fox05/04/202610:0016:006
Priya Raman06/04/202609:0017:008
6 rows read, 4 cleaned, 2 rejected

What you get back

Clean data An Excel file with dates, numbers and text normalised, one tab per sheet.
A reconciliation Rows read, rows cleaned, rows rejected and why — so you can check our working.
Your rejected rows Handed back exactly as you sent them, so you can fix them and upload again.

What it's for

Lists of things that happened — transactions, sales, invoices, timesheets — with or without column names. Budgets with months across the top work too, and every sheet in the file gets read.

It isn't built for dashboards or summary pages, where the numbers are formulas pointing at other cells. If a sheet is one of those we'll say so by name rather than guess at it. More about what it reads.

If a column of postcodes, phone numbers or invoice codes has already lost the zero off the front: why Excel drops leading zeros — and which of them you can genuinely get back.

If what you actually want is a total, a breakdown and a chart that stay right as you add rows: building a dashboard from a spreadsheet.