Training Compliance & Certification Expiry Tracker
Expiry dates and Current/Expiring/Expired/Missing status per course record, a compliance matrix of people against mandatory courses and a 60-day expiry list.
Training Compliance & Certification Expiry Tracker is a free Excel workbook: 4 sheets, 375 live formulas and realistic sample data throughout, 17 KB as .xlsx.
The formulas are printed on this page, unedited, so you can check the method before downloading anything. Swap in your own numbers and the whole file recalculates — which is the part no chat window can hand you. Opens in Excel, Google Sheets, Numbers and LibreOffice; no add-in and no macro.
A look inside
This is a real slice of the Records sheet from the actual file — not a screenshot, and not a mock-up. Cells shown in violet are live formulas, exactly as they arrive.
| # | Employee | Course | Completed | Validity (months) | Expiry | Days to expiry | Status |
|---|---|---|---|---|---|---|---|
| 4 | Thomas Ferreira | Fire safety | 2025-10-03 00:00:00 | =INDEX(Courses!$C$2:$C$9,MATCH(B4,Courses!$A… | =EDATE(C4,D4) | =E4-$B$1 | =IF(F4<0,"Expired",IF(F4<=60,"Expiring","Cur… |
| 5 | Sophia Bell | Safeguarding | 2024-12-06 00:00:00 | =INDEX(Courses!$C$2:$C$9,MATCH(B5,Courses!$A… | =EDATE(C5,D5) | =E5-$B$1 | =IF(F5<0,"Expired",IF(F5<=60,"Expiring","Cur… |
| 6 | Jacob Doyle | Data protection (GDPR) | 2026-07-29 00:00:00 | =INDEX(Courses!$C$2:$C$9,MATCH(B6,Courses!$A… | =EDATE(C6,D6) | =E6-$B$1 | =IF(F6<0,"Expired",IF(F6<=60,"Expiring","Cur… |
| 7 | Harry Morgan | Manual handling | 2025-01-06 00:00:00 | =INDEX(Courses!$C$2:$C$9,MATCH(B7,Courses!$A… | =EDATE(C7,D7) | =E7-$B$1 | =IF(F7<0,"Expired",IF(F7<=60,"Expiring","Cur… |
| 8 | Jacob Doyle | Cyber security awareness | 2026-04-15 00:00:00 | =INDEX(Courses!$C$2:$C$9,MATCH(B8,Courses!$A… | =EDATE(C8,D8) | =E8-$B$1 | =IF(F8<0,"Expired",IF(F8<=60,"Expiring","Cur… |
| 9 | Jack Stewart | Data protection (GDPR) | 2025-08-31 00:00:00 | =INDEX(Courses!$C$2:$C$9,MATCH(B9,Courses!$A… | =EDATE(C9,D9) | =E9-$B$1 | =IF(F9<0,"Expired",IF(F9<=60,"Expiring","Cur… |
| 10 | Oscar Mensah | Safeguarding | 2025-05-16 00:00:00 | =INDEX(Courses!$C$2:$C$9,MATCH(B10,Courses!$… | =EDATE(C10,D10) | =E10-$B$1 | =IF(F10<0,"Expired",IF(F10<=60,"Expiring","C… |
| 11 | Oscar Mensah | Manual handling | 2026-03-28 00:00:00 | =INDEX(Courses!$C$2:$C$9,MATCH(B11,Courses!$… | =EDATE(C11,D11) | =E11-$B$1 | =IF(F11<0,"Expired",IF(F11<=60,"Expiring","C… |
What’s in the file
What it explains
- Compliance is a matrix, not a percentage
- Expiring is a status, not a warning
- Missing is worse than expired
Download it
The workbook is free with a DataHub Pro account. Free accounts download three templates and keep them forever — re-downloading one you already have never counts again. Pro accounts get all 201.
Related templates
Writing about Training Compliance & Certification Expiry Tracker? Link to this page.
The preview above is a real slice of the file, so this page is worth citing on its own — readers can see the formulas without downloading anything or making an account. Copy the line below.
<a href="https://www.datahubpro.co.uk/excel-templates/hr-training-tracker">Training Compliance & Certification Expiry Tracker</a> — free Excel template from DataHub Pro
What you may do: link to this page, quote from it, and screenshot the preview, with attribution to DataHub Pro. Use the workbook itself in your own business, commercially, with no restriction and no attribution required. What you may not do: host the .xlsx elsewhere or resell it — send people here instead, where it stays current.
Or skip the spreadsheet entirely
Upload your own file and DataHub Pro runs the same analysis on your numbers — free and unlimited, no add-in, no macro.
Analyse your own file free →