DataNinja

Merge Excel files into one

Drop in a folder's worth of exports and get one table back — plus an account of what came from where, what only some of them had, and which rows turned up twice.

Up to 20 files. Every sheet in a workbook is read, so one file with twelve tabs works the same as twelve files.

What that looks like

Two months of one sales ledger, run through the same merge your files go through — not a recording. They differ in the three ways a year of exports actually differs, and none of it is silently tidied away.

sales-january.csv

Invoice,Customer,Amount
INV-1001,Northside Cafe,240.00
INV-1002,Harbour Fitness,485.00
INV-1003,Kembla Plumbing,180.00
INV-1004,Northside Cafe,320.50

4 rows, 1,225.50

sales-february.csv

INVOICE #,Customer,Amount,Notes
INV-1004,Northside Cafe,320.50,carried over
INV-1005,Bellambi Dental,90.00,
INV-1006,Harbour Fitness,610.00,deposit
INV-1007,Northside Cafe,75.00,

4 rows, 1,095.50

InvoiceCustomerAmountNotesSource
INV-1001 Northside Cafe 240.00 sales-january.csv
INV-1002 Harbour Fitness 485.00 sales-january.csv
INV-1003 Kembla Plumbing 180.00 sales-january.csv
INV-1004 Northside Cafe 320.50 sales-january.csv
INV-1004 Northside Cafe 320.50 carried over sales-february.csv
INV-1005 Bellambi Dental 90.00 sales-february.csv
INV-1006 Harbour Fitness 610.00 deposit sales-february.csv
INV-1007 Northside Cafe 75.00 sales-february.csv
8 rows read from 2 tables, 8 merged · total amount 2,321.00

What you get back

One file Every row from every file, as .xlsx and as .csv, with your own column names on it.
A Source column The only column we add. Filter it and you have back the file you started with, row for row — and you can delete it if you'd rather.
The columns that didn't line up Named, with which files had them. Nothing is dropped for being in only some of your files.
Rows that appear twice Reported, never removed. Two overlapping exports stack into a file that balances perfectly and states the same money twice.
The arithmetic Rows in equals rows out, and any column we can honestly add up comes to what your files came to.

How the columns line up

By name, and the spelling doesn't have to match: Invoice Date, InvoiceDate and invoice date are one column. If a column is missing from some of your files it still comes through, blank on those rows, and the report says which files had it.

That's the opposite of how comparing two files works, on purpose. Comparing has two systems describing the same rows, so the names disagree and the values overlap. Merging has one system describing different rows — twelve monthly exports share their headings and share no invoice numbers at all. Each one reads the evidence it actually has.

What it won't do

It won't remove a row that turns up in two files. That would mean deciding which copy is right, and a repeat isn't always a mistake — plenty of ledger exports open with last month's closing line on purpose. We say what we found and leave it to you.

It won't guess that two differently-named columns are the same thing. Customer and Client Name stay two columns, and both are listed so you can see it happened.