HR Utilities
← All tools

Spreadsheet Merger

Bring columns from one file onto another by employee id, with the three things that go wrong counted instead of hidden.

Reads .xlsx and .csv inside your browser. Nothing is uploaded.

The file you are adding to

Drop a spreadsheet here

Your roster. Every row of this file survives, matched or not.

The file you are taking from

Drop a spreadsheet here

The one with the columns you want. Payroll, benefits, a survey export.

A lookup formula fails quietly in three directions

This is the most common thing anybody does to an HR spreadsheet, and it is normally done with a formula that gives no hint when it goes wrong.

One: the id does not match itself

Your roster has 00123 and payroll has 123, because one of those files was opened in a spreadsheet, which read the ids as numbers and dropped the leading zeros. Nothing matches. Every row returns an error, somebody filters the errors out, and half the people quietly leave the report.

This tool notices when the two columns hold the same ids in different clothes, says so in as many words, and offers to match them anyway. Relaxed matching is off until you turn it on, because it is a decision about your data rather than a fact about it, and once it is on the tool says how many rows it rescued.

Two: the other file has the same person twice

A lookup formula silently takes the first row it finds and never mentions the second. A join written by hand does the opposite and turns four hundred people into four hundred and six without saying so. Both are wrong, in opposite directions, and neither announces itself.

Here the duplicates are counted and named before anything is produced, and you choose: take the first, which is what a formula does, or leave those people blank rather than pick one of several without a rule.

Three: people who match nothing disappear

Every row of your file is in the result, with blank cells where the other file had nothing, and the count of them is a headline figure rather than something to notice later. A person missing from payroll has not stopped existing, and the fact that they are missing is usually the most interesting thing on the page.

The reverse is counted too. Ids in the other file that matched nobody in yours are listed, because a payroll or benefits file holding people who are not on the roster is a finding in its own right.

Columns that exist in both files

If both files have a Department column, this keeps both by default and marks the incoming one, because overwriting what you already had should be something you chose rather than something that happened. You can overwrite or skip instead, and the tool says which it did.