Matching employee data across spreadsheets for HR teams
By the Analistable team · Updated · 2 min read
HR teams hold the employee list and are constantly asked to check it against something else: payroll, training completions, timesheets, survey responses, system access lists. Each check is a join on employee ID, with the usual problems of leavers, name changes and missing IDs. This page covers those jobs and how to start.
Checks HR runs against the employee list
| Job | Files | Join key |
|---|---|---|
| Payroll check | HR employee list + payroll report | Employee ID |
| Training compliance | Employee list + LMS completion export | Employee ID or work email |
| Hours vs pay | Timesheets + payroll export | Employee ID + pay period |
| Survey response rate | Survey responses + headcount by team | Team or employee ID |
| Joiners and leavers | Last month's list + this month's list | Employee ID |
When a file has no ID, email is the next best key, but it needs trimming and lowercasing first. Names alone are unreliable because of spelling and name changes.
How Analistable helps
Load the employee list and the training export and ask "employees in Operations with no completed fire safety course". Analistable joins on the ID you name, keeps employees without a match and returns the list. It can also compare two monthly lists to show joiners and leavers.
Employee data is sensitive. Files are loaded into a database in your browser and are not stored on our servers. You can stop the AI from seeing sample values so it works from column names only. Follow your own data protection policy on who may load which files.
Start here
Frequently asked questions
- Is it safe to load payroll files?
- Rows are processed in your browser and not uploaded for storage. The AI receives the schema and, only if you allow it, sample values. Your organisation's policy still decides what may be analysed.
- What if the training system uses emails and HR uses employee IDs?
- Load a sheet that has both, such as the HR list with work email, and join through it. Clean emails first to avoid missed matches.
- Can I see who left between two monthly lists?
- Yes. Ask for IDs in last month's list that are not in this month's. The reverse question gives joiners.