Free · Excel & Google Sheets

Free Staff Training Matrix & Certification Tracker (Excel & Google Sheets)

A free training matrix: list each person’s certificates once with their expiry dates, and the sheet builds a colour-coded grid of people against certificates, a book-by date for every refresher and a dashboard of what is expired or due in the next 30 and 90 days.

Updated 28 Sep 2026No sign-upSeptember 2026 edition

In the file

6 sheets · 152 KB · opens in Excel, Google Sheets and LibreOffice

  1. Start here
  2. Training list
  3. Matrix
  4. Dashboard
  5. Import to ExpiryEdge
  6. Lists

Prefer a plain list? The CSV (1 KB) has the same columns and example rows, without formulas or colours.

Preview

The tracker sheet, with example rows

This is the colour logic the spreadsheet uses. Move the date to see which rows turn amber or red next.

staff-training-matrix.xlsx

Training list: example rows, statuses as of 28 Sep 2026
PersonCertificate / trainingExpiry dateBook-by dateDays leftStatus
Example – Alex SampleFirst aid at work9 Oct 202610 Aug 202611Due ≤30 days
Example – Alex SampleForklift operator1 Sep 20263 Jul 2026-27Expired
Example – Alex SampleManual handling2 Apr 20273 Mar 2027186OK
Example – Jo PlaceholderFood hygiene1 Dec 202617 Oct 202664Due ≤90 days
Example – Jo PlaceholderFire warden20 Nov 202621 Oct 202653Due ≤90 days
Example – Chris DemoDriver qualification14 Mar 202714 Nov 2026167OK
Example – Chris DemoFirst aid at work1 Jun 20272 Apr 2027246OK

1 expired, 1 due ≤30 days, 2 due ≤90 days, 3 OK. The example dates are fixed, so as real time passes more of them turn amber and red: that is the formula working.

Start hereTraining listMatrixDashboardImport to ExpiryEdgeLists

How to use it in 3 steps

  1. Set your certificate list

    On the Lists sheet, replace the example certificate names with the ones your roles need. They become the dropdown and the matrix columns.

  2. Add one row per person per certificate

    Use the same spelling of each name every time. Copy the expiry date from the certificate, or the date your policy says it must be refreshed.

  3. Read the Matrix, act on the Dashboard

    The Matrix shows gaps and colours at a glance. The Dashboard lists the next 10 refreshers to book.

What’s inside

Start here
How to use it in three steps, the colour key and what every column means.
Training list
Training list (one row per person per certificate). Filters, dropdowns, frozen header and status colours, with formulas filled down 500 rows.
Matrix
Training matrix: latest expiry date per person and certificate, colour-coded.
Dashboard
Counts by status and the next 10 dates, as of today.
Import to ExpiryEdge
The same rows in the ExpiryEdge bulk-import columns, filled by formula.
Lists
The options behind every dropdown. Add your own.

Open it in Google Sheets

There is no shared Google copy to request access to. You import the same file, so you own your copy from the start.

  1. Download the .xlsx

    Use the button above. It saves straight to your computer.

  2. Import it into a blank Google Sheet

    Open Google Sheets, create a blank spreadsheet, then choose File › Import › Upload and pick the file. Select "Replace spreadsheet".

  3. Check the dates

    Formulas, dropdowns and status colours carry over. If your Google account uses a different locale, dates show in that format, which is fine: they are real dates underneath.

Columns explained

Type in the input columns. Calculated columns fill themselves. Columns marked required are the ones the import sheet needs.

Columns on the Training list sheet
ColumnWhat to enterType
PersonFull name, spelled the same way every time (the matrix matches on it).Input · required
RoleJob title or role.Input
TeamTeam or site. Edit the list on the Lists sheet.Input
Certificate / trainingPick from the Lists sheet so the matrix can match it. Add your own there.Input · required
ProviderWho delivered the course or issued the card.Input
Completed onDate of the course or issue date.Input
Expiry dateExpiry date on the certificate, or the date your policy says it must be refreshed.Input · required
Lead time (days)How many days before the date you want to start acting. Leave blank for 30.Input
Book-by dateCalculated. Expiry minus the lead time: book the refresher before this.Calculated
Days leftCalculated. Days until the date; negative once it has passed.Calculated
StatusCalculated. Expired, Due ≤30 days, Due ≤90 days or OK.Calculated
PriorityLow, Medium or High. Matches the ExpiryEdge priority field.Input
Manager emailWho should be reminded. Becomes notification_email on import.Input
Certificate linkLink to the certificate copy.Input
NotesAnything the next person needs to know.Input

When a spreadsheet stops being enough

For a handful of dates and one careful owner, this template is all you need. These are the signs it has become the wrong tool.

Sign 1

More than one person owns the dates

When several people add rows, dates get typed as text, copies drift apart and nobody is sure which file is current.

Sign 2

Reminders depend on someone opening the file

The status turns red whether or not anyone is looking. If the person who checks it is on leave, the date passes quietly.

Sign 3

You need to prove what happened

An audit, insurer or inspector may ask who was told, when, and where the certificate is. A spreadsheet does not keep that history.

When you would rather not remember

What this looks like when it runs itself

The same row, tracked for you: an owner, reminders at 90, 60, 30 and 7 days by email, SMS, WhatsApp, Slack or Teams, the document on file and a log of who did what. The "Import to ExpiryEdge" sheet in this template is already laid out for Bulk Import, so moving across is one upload.

Try it with your own dates, free for 14 days, no card
FAQ

Staff training matrix: questions, answered

A grid with people down the side and certificates or courses across the top. Each cell shows whether the person holds it and when it expires, so you can see gaps and upcoming refreshers in one view.

A grid is easy to read but hard to keep accurate: there is nowhere to record the provider, the certificate link or a history. So you type into a simple list (one row per person per certificate) and the Matrix builds itself from it with formulas.

It depends on the certificate and who issued it. Copy the expiry date from the certificate or card. Our free validity guides cover common ones, such as first aid at work, food hygiene, DBS checks and CSCS cards, each with its official source.

Yes. Open a blank Google Sheet, choose File › Import › Upload, pick the .xlsx and select "Replace spreadsheet". The formulas use only functions that Google Sheets, Excel and LibreOffice all support (no FILTER, SORT or XLOOKUP), so the status colours, dropdowns and dashboard carry over. The Excel table styling becomes a plain range with filters.

It is the same rows laid out in the ExpiryEdge bulk-import columns (name, expiry_date, type and so on), filled in by formula. You can ignore it. If you ever move the list into ExpiryEdge, upload the file in Bulk Import and pick that sheet, or save the sheet as CSV. Nothing is sent anywhere by the file itself.

It is free to download, use, change and share inside your organisation. There is no sign-up and no email needed: the download starts when you click.

A free template, not legal advice. It tracks the dates you enter; it does not decide which rules apply to you. Check requirements against the official source for your situation.

Email me when this template is updated

Optional. The template is already yours without it. One email when a new edition is out, nothing else.

We use your email only for this. See our privacy policy.