The best way to track employee training is to keep one record per person per training item, with the assigned date, due date, completion date, result, who signed it off and when it expires. Excel handles that well for one administrator and a few dozen people. A SharePoint or Microsoft Lists list suits several editors who already work in Microsoft 365. Move to a learning management system (LMS) once you need assignments, reminders, renewals and evidence to happen without someone updating a sheet.
This guide is for HR teams and managers at small and mid-sized organisations who track training today, or need to start. It shows how to set up each option properly, compares them side by side, and lists the signals that tell you it is time to switch.
Whatever tool you use, the record structure is the same, so start there. The free tracker layout below works in a spreadsheet, a SharePoint list or as an import file for an LMS.
What an employee training record needs to capture
A tracker is only useful if it can answer three questions quickly: who is overdue, who is about to expire, and can we prove that a named person completed a named course on a date. These columns cover all three.
| Column | Why it matters |
|---|---|
| Employee ID and name | The ID survives name changes and matches your HR system |
| Role, team or location, manager | Lets you filter by team and send managers their own list |
| Training item and version | Shows which version of a policy or course the person completed |
| Assigned date and due date | The basis for overdue reports |
| Completion date | The fact an auditor asks for first |
| Result or score | Pass, fail or a quiz percentage |
| Signed off by | For practical skills, the assessor or manager who confirmed it |
| Expiry date | For training that must be renewed |
| Status | Assigned, in progress, complete, overdue or expired |
| Evidence link | A link to the certificate, sign-in sheet or assessment |
Use one row per person per training item, not one row per person with a column per course. The "wide" layout looks tidy at first but breaks as soon as a course is repeated, renewed or retired. If you are still deciding what to assign to whom, build the training matrix first; our guide on how to create an employee training program walks through it.
How to track employee training in Excel
Excel is the right starting point for many teams. It costs nothing extra, everyone knows it, and a worksheet holds up to 1,048,576 rows, far more than a training log needs. The problems come from how it is used, not from its size.
Set it up in six steps
- Create the columns above and format the range as a Table (Insert, Table). Tables expand automatically, keep formulas consistent and make filtering easy.
- Add a second sheet for lists: employees, training items and status values. Use Data Validation drop-downs that point to those lists so people cannot type "Fire Safety", "fire safety" and "Fire safty" as three different courses.
- Calculate the expiry date instead of typing it. The EDATE function returns the date a set number of months after another date, so
=EDATE([@[Completion date]],12)gives a 12-month renewal date. - Calculate the status with a formula, for example: if there is no completion date and the due date has passed, "Overdue"; if the expiry date is within 30 days, "Expiring"; if it has passed, "Expired".
- Add conditional formatting so overdue and expired rows stand out in colour.
- Build a summary sheet with a PivotTable showing completion by team and item, and refresh it before each report.
Where Excel tracking breaks down
- Several editors. Storing the workbook in OneDrive or SharePoint lets people co-author it, but the older "shared workbook" feature cannot be used on a workbook that contains Excel tables. Either way, nothing stops one person overwriting another's entry, and there is no record of who changed what.
- No reminders. The sheet shows who is overdue, but someone has to open it and chase people.
- Evidence lives elsewhere. Certificates and sign-in sheets end up in email and shared folders, linked by hand if at all.
- Copies multiply. Managers download their own version, and within months nobody is sure which one is right.
How to track training in SharePoint or Microsoft Lists
If your organisation uses Microsoft 365, a list in SharePoint or Microsoft Lists is a sensible next step. Each row is an item with typed columns, permissions are controlled centrally, version history can keep a record of each change, and people can edit the list in a browser without passing a file around.
Set it up
- Create a list with the same columns as the tracker. Use a Person column for the employee and manager, Choice columns for training item and status, and Date columns for due, completion and expiry dates.
- Create views: "Overdue", "Expiring in 30 days", and one view per team filtered to that team.
- Attach evidence to the item, or link to a document library. A file attached to a list item can be up to 250 MB.
- Add a reminder flow. Microsoft's built-in "Set a reminder" option creates a Power Automate flow from any date column in the current view and emails a reminder a chosen number of days before that date.
Limits to know before you rely on it
- Reminders go to you, not the learner. The built-in reminder flow sends a personal email to the person who created it. Emailing each employee or their manager needs a custom Power Automate flow, which someone has to build and maintain. Microsoft also notes the reminder feature is not available in GCC, GCC High, DoD or other sovereign clouds.
- Large lists need indexing. A list can hold up to 30 million items, but views that return more than about 5,000 items hit the List View Threshold, which cannot be changed in SharePoint in Microsoft 365. Index the columns you filter on, such as status and team, from the start.
- It still records, it does not train. A list cannot deliver a course, run a quiz or issue a certificate. Someone still enters the completion by hand or builds an integration.
Excel vs SharePoint vs LMS: side-by-side comparison
| Need | Excel | SharePoint or Microsoft Lists | LMS |
|---|---|---|---|
| Extra cost | None if you have Microsoft 365 | None if you have Microsoft 365 | Licence, usually per user or per active user |
| Set-up time | Hours | A day or two, more for custom flows | Days to weeks, depending on integrations |
| Several editors at once | Possible with co-authoring, easy to overwrite | Yes, with permissions and version history | Yes, with roles |
| Automatic completion records | No, typed by hand | No, typed by hand or via a custom integration | Yes, when courses and quizzes run in the LMS |
| Reminders to learners and managers | No | Only with custom Power Automate flows | Built in |
| Renewals and expiry | Formula plus manual follow-up | Views plus custom flows | Automatic re-assignment and reminders on most platforms |
| Evidence in one place | Links to other files | Attachments and links | Scores, certificates and attendance stored with the record |
| Audit trail of changes | No | Version history per item | Logs and reports, depending on the platform |
| Best fit | One administrator, a few dozen people | Several editors in Microsoft 365, simple requirements | Mandatory or recurring training at scale, audits |
Signs it is time to move from a spreadsheet to an LMS
There is no headcount at which a spreadsheet suddenly fails. These are the signals we look for when teams ask whether to switch:
- More than one person updates the tracker every week, and entries conflict.
- Renewals are being missed because nobody is watching expiry dates.
- Managers ask HR for their team's status rather than seeing it themselves.
- You are preparing for an audit, a client review or an inspection and need evidence by person and date.
- New starters and leavers change faster than the assignments are updated.
- Training is delivered online already, but completions are still typed in by hand.
If two or more apply, the time spent maintaining the tracker is probably already larger than the cost of a basic LMS.
Moving your tracking into an LMS without losing history
The record structure above is also your migration plan. Clean the sheet first: one row per person per item, consistent course names, real dates rather than text, and employee IDs that match your HR system. Then:
- Import users from your HR system or a CSV file, and set up automatic provisioning if the LMS supports it so starters and leavers flow through.
- Create the training items and the paths for each role from your matrix.
- Import historical completions with their original dates and expiry dates, so renewals fall due on the right day. If the LMS cannot import past completions, keep the old tracker as a read-only archive and record that decision.
- Run the first renewal cycle in both systems, then retire the spreadsheet.
Most mainstream LMS platforms cover this. One option is LMS Advisor, our self-hosted LMS. Disclosure: LMS Advisor is built by the All-in-One LMS team. It suits teams that want onboarding paths with due dates, reminders before path deadlines, a "My Team" view and weekly digest for managers, QR check-in for in-person sessions, and exports to CSV, Excel or PDF. Users can be created by CSV import or SCIM, with HR sync for BambooHR, Zoho People and Keka. It is not the right fit if you need a native Workday or ADP connector or an off-the-shelf soft-skills course library. Pricing is quote-based, for cloud or self-hosted. See how LMS Advisor handles this, or compare options with our guide to choosing an LMS.
How we can help
We help HR teams move from spreadsheets to a training system that tracks itself, including HR integration, data clean-up and importing historical records. See how we support corporate training teams, ask our LMS consulting team whether you need an LMS yet, or get in touch to talk it through.
Frequently asked questions
How do I create an employee training tracker in Excel?
Format a range as an Excel Table with one row per person per training item, add drop-down lists for employees, courses and status, calculate expiry with EDATE, flag overdue and expired rows with conditional formatting, and summarise completion with a PivotTable.
Can SharePoint send training reminders?
Yes, with limits. The built-in reminder option creates a Power Automate flow that emails the person who set it up before a date in the list. Reminders to each employee or manager need a custom flow.
What is the best way to keep employee training records?
Keep one record per person per training item with dates, result, sign-off, expiry and a link to evidence, in a single system with controlled access. Keep records for leavers instead of deleting them, so you can answer audits and disputes later.
Free 30-minute consultation
Not sure where to start? Talk to an LMS engineer.
Tell us what platform you run and what you need. You’ll get honest, practical advice - even if the answer is that you don’t need us.
Sources & references
- Excel specifications and limits - Microsoft
- EDATE function - Microsoft
- SharePoint limits - Microsoft
- Manage large lists and libraries (List View Threshold) - Microsoft
- Create SharePoint reminder flows - Microsoft
- LMS Advisor for employee training - LMS Advisor
Learn more about this topic with AI
Gemini opens with the prompt copied - paste it into the chat to start.