ExcelReady
CourseMock testsFunction guidesBlog
Start freeStart learning for free
ExcelReady

Be Excel-ready before day one. Hands-on practice in your browser, with instant feedback.

Learn

  • Course
  • Mock tests
  • Function guides
  • Blog

Test prep

  • Excel level test
  • Excel test practice
  • Free screening quiz
  • Certificate

Company

  • About
  • Editorial policy
  • Contact
  • Terms
  • Privacy

© 2026 ExcelReady. All rights reserved.

  1. Blog
  2. Projects
  3. Build an Employee Training Tracker in Excel

Build an Employee Training Tracker in Excel

By ExcelReady Team·Updated November 2, 2026·6 min read

The short answer

A training tracker in Excel is a log with one row per employee and course. Add the completion date and how many months the training is valid, work out the expiry with =EDATE(D2,E2), and flag the status with TODAY: Expired, Due soon or OK. Conditional formatting colours the rows, and COUNTIFS counts expired training by course or team.

Key takeaways

  • Keep one row per employee per course: name, team, course, completed date, months valid.
  • =EDATE(D2,E2) adds the valid months to the completion date and handles month ends correctly.
  • A nested IF with TODAY() flags each row as Not done, Expired, Due soon or OK, and updates every day.
  • Formula-based conditional formatting turns the status column into a colour-coded view.
  • COUNTIF and COUNTIFS turn the log into a summary by status, course or team.
On this page+
  1. What a training tracker needs
  2. Step 1: Set up the log as a table
  3. Step 2: Calculate the expiry date with EDATE
  4. Step 3: Flag the status with TODAY
  5. Step 4: Colour the rows with conditional formatting
  6. Step 5: Summarise with COUNTIF and COUNTIFS
  7. Tips to keep the tracker reliable
  8. Practise it

A training tracker in Excel shows who has completed which course, when each certificate expires, and who is overdue. You need one log, three formulas (EDATE, IF with TODAY, and COUNTIFS) and a couple of colour rules. This guide builds the whole tracker step by step on six rows of sample data, so HR staff, team leads and safety coordinators can copy the layout and use it right away.

What a training tracker needs#

A good tracker is a simple list, with one row for each employee and course. Resist the urge to build a big grid with employees down the side and courses across the top. A list is easier to sort, filter, count and extend. You can always turn it into a grid later with a pivot table.

Here are the columns, with the sample data used throughout. Statuses are shown as of 2 November 2026:

ABCDEFG
1EmployeeTeamCourseCompletedValid (months)ExpiresStatus
2AnaWarehouseFire safety15 Sep 20251215 Sep 2026Expired
3BenOfficeFirst aid10 Mar 20243610 Mar 2027OK
4ChenWarehouseFire safety20 Nov 20251220 Nov 2026Due soon
5DinaWarehouseForklift1 Oct 2023361 Oct 2026Expired
6EliOfficeData privacy12 Jan 20261212 Jan 2027OK
7FemiOfficeFire safety5 Dec 2024245 Dec 2026OK

You type columns A to E. Columns F and G are formulas.

Step 1: Set up the log as a table#

Type the headers in row 1 and your data below. Then click any cell in it and press Ctrl+T (Mac: ⌘T) to turn it into an Excel table. A table copies formulas down automatically when you add a row, so new training records get an expiry date and status without extra work.

Two small habits prevent most errors later:

  • Type real dates in the Completed column, such as 15/09/2025 or 2025-09-15, not text like "Sept 15th".
  • Use a drop-down list for Course and Team (Data > Data Validation > List), so "Fire Safety" and "fire safety training" don't end up as two different courses.

Step 2: Calculate the expiry date with EDATE#

EDATE adds a number of whole months to a date. That is exactly what "valid for 12 months" means. In F2:

Excel formula
=EDATE(D2,E2)

For Ana, 15 Sep 2025 plus 12 months gives 15 Sep 2026. Format the column as a date (Ctrl+1, or ⌘1 on a Mac) if you see a number like 46280. EDATE also handles month ends sensibly: 31 January plus 1 month gives 28 February (or 29 in a leap year).

Don't use =D2+365 for a one-year course. It drifts by a day in leap years, and it can't handle 18-month or 3-year renewals as cleanly. The EDATE function guide covers the arguments, and EDATE vs EOMONTH explains when you'd want the month end instead.

Step 3: Flag the status with TODAY#

TODAY returns the current date and updates every time the file recalculates. Compare the expiry date with it to label each row. In G2:

Excel formula
=IF(D2="","Not done",IF(F2<TODAY(),"Expired",IF(F2-TODAY()<=30,"Due soon","OK")))

Excel checks the tests in order:

  1. No completion date? The training hasn't been done yet: "Not done".
  2. Expiry date before today? "Expired".
  3. Expires within 30 days? "Due soon", so there's time to book a session.
  4. Anything else is "OK".

On 2 November 2026, Chen's fire safety (20 Nov 2026) is 18 days away and shows "Due soon". Femi's (5 Dec 2026) is 33 days away, so it's still "OK". The first test matters: without it, an empty completion date would give an odd expiry date and a misleading status. The TODAY function guide explains how it recalculates, and the expiry date tracker guide shows a days-left column and other variations.

Step 4: Colour the rows with conditional formatting#

Colour makes the overdue rows jump out. Select A2:G7 (or the whole table) and go to Home > Conditional Formatting > New Rule > Use a formula to determine which cells to format. Add one rule per status:

StatusRule formulaFill
Expired=$G2="Expired"Light red
Due soon=$G2="Due soon"Light amber
Not done=$G2="Not done"Light grey

The $ before G locks the column, so every cell in a row looks at that row's status. The row number has no $, so it changes from row to row. The guide on highlighting overdue dates explains this pattern in more detail.

Step 5: Summarise with COUNTIF and COUNTIFS#

A manager usually wants numbers, not rows. Build a small summary next to the log:

QuestionFormulaResult (2 Nov 2026)
How many records have expired?=COUNTIF(G2:G7,"Expired")2
How many are due within 30 days?=COUNTIF(G2:G7,"Due soon")1
Expired in the Warehouse team=COUNTIFS(B2:B7,"Warehouse",G2:G7,"Expired")2
Fire safety records that are current=COUNTIFS(C2:C7,"Fire safety",G2:G7,"<>Expired")2

To show a completion rate, divide the current records by all records for that course: =COUNTIFS(C2:C7,"Fire safety",G2:G7,"<>Expired")/COUNTIF(C2:C7,"Fire safety") gives 2 ÷ 3 = 67%. Note that "<>Expired" also counts "Not done" rows, so add another condition, G2:G7,"<>Not done", if you have any. The COUNTIFS function guide lists every criteria form.

You can also count straight from the dates without the status column: =COUNTIF(F2:F7,"<"&TODAY()) counts expiry dates before today. The exercise on this page does exactly that, with a fixed report date so the answer doesn't change.

Tips to keep the tracker reliable#

  • One fixed date for reports. TODAY changes daily, so a report you send on Monday shows different numbers on Tuesday. For a monthly snapshot, put the report date in a cell and use it instead of TODAY.
  • Don't type over formulas. If someone types a date into the Expires column, it stops updating. Lock the formula columns or colour their headers differently.
  • Keep history. When someone renews, add a new row rather than overwriting the old date, then filter to the latest record if needed.
  • Related trackers use the same pattern; see the leave tracker and the Excel skills for HR jobs.

Practise it#

The tracker rests on three skills you can practise separately. Practise EDATE, EOMONTH and WEEKDAY in a live spreadsheet to work out renewal dates, then count by status and team in the COUNTIFS and SUMIFS lesson. Finish with the conditional formatting lesson to colour rows by rule. Each answer is checked instantly, so start with the exercise on this page.

Try it yourself

This is a live spreadsheet. Type the formula in the green cell and press Enter.

G1 holds the report date (in a live tracker you'd use TODAY()). In G2, count how many expiry dates in E2:E7 are before G1, using COUNTIF with "<"&G1.

fx
ABCDEFGH
1
Employee
Course
Completed
Valid (months)
Expires
Report date
46328
2
Ana
Fire safety
45915
12
46280
Expired
3
Ben
First aid
45361
36
46456
4
Chen
Fire safety
45981
12
46346
5
Dina
Forklift
45200
36
46296
6
Eli
Data privacy
46034
12
46399
7
Femi
Fire safety
45631
24
46361
8
9
10

Tip: The criteria joins the operator in quotes to the date cell: "<"&G1.

Practise this in a lesson

LessonRenewals and month-ends: EDATE, EOMONTH, WEEKDAYShift dates by whole months with EDATE, jump to month-end with EOMONTH, and find the day of the week with WEEKDAY.LessonCOUNTIFS and SUMIFSCount and sum with several conditions at once, and learn why SUMIFS puts the sum range first.LessonConditional formattingMake important numbers stand out: highlight values over a limit, duplicate IDs and the top 3, then color whole rows with a formula rule and a $ on the column.Function guideEDATEAdd months to a date with Excel's EDATE for renewals, probation ends and due dates. Month-end behaviour, mistakes and a live practice exercise.Function guideCOUNTIFSCount rows that meet several conditions with COUNTIFS. Examples for text, number ranges and between-values, plus a live exercise.Function guideTODAYUse Excel's TODAY function for days until a deadline, overdue flags and ages that update by themselves. Examples, pitfalls and live practice.

Frequently asked questions

How do I create a training tracker in Excel?

+

List one row per employee and course with the completion date and months valid. Calculate the expiry date with EDATE, add a status column with IF and TODAY, colour it with conditional formatting, and count results with COUNTIFS.

How do I calculate when training expires in Excel?

+

Use EDATE to add the valid months to the completion date: =EDATE(D2,E2). If D2 is 15 Sep 2025 and E2 is 12, the result is 15 Sep 2026. Format the cell as a date.

How do I flag overdue training in Excel?

+

Compare the expiry date with today: =IF(F2<TODAY(),"Expired",IF(F2-TODAY()<=30,"Due soon","OK")). Then add a conditional formatting rule that fills Expired rows red.

How do I count how many employees have completed a course?

+

Use COUNTIFS with the course and the status, for example =COUNTIFS(C2:C50,"Fire safety",G2:G50,"OK"). Add a second COUNTIFS for Due soon if those still count as current.

Sources

  • EDATE function - Microsoft Support
  • COUNTIFS function - Microsoft Support
  • TODAY function - Microsoft Support

Written and checked by the ExcelReady Team. First published November 2, 2026. The practice exercise runs in the same formula engine as our lessons. Found a mistake? Read our editorial policy or email hello@excelready.app.

On this page

  1. What a training tracker needs
  2. Step 1: Set up the log as a table
  3. Step 2: Calculate the expiry date with EDATE
  4. Step 3: Flag the status with TODAY
  5. Step 4: Colour the rows with conditional formatting
  6. Step 5: Summarise with COUNTIF and COUNTIFS
  7. Tips to keep the tracker reliable
  8. Practise it

Keep reading

Dates· 6 min read

Expiry Dates in Excel: Days Left and Status Flags

An expiry date formula in Excel usually has three parts. Work out the expiry date with =EDATE(B2,12) for 12 months after the issue date. Count the days left with =C2-TODAY(). Then flag the status with =IF(C2<TODAY(),"Expired",IF(C2-TODAY()<=30,"Expiring soon","OK")). Because TODAY updates daily, the tracker stays current by itself.

Dates· 6 min read

EDATE and EOMONTH: Add Months and Find Month-End

EDATE moves a date by whole months: =EDATE(start_date, months) keeps the day where it can, so Mar 15 plus 12 months is Mar 15 next year. EOMONTH moves by months and then jumps to the month's last day: =EOMONTH(B2,0) is the end of B2's month. Negative months go backwards.

Dates· 5 min read

Highlight Overdue and Upcoming Dates in Excel

To highlight overdue dates in Excel, select the rows, go to Home > Conditional Formatting > New Rule, choose Use a formula, and enter =AND($C2<>"",$C2<TODAY()), where C holds the due dates. Pick a red fill. For dates due within the next 7 days, add a second rule: =AND($C2>=TODAY(),$C2<=TODAY()+7). The colours update every day.

More on projects

  • How to Build an Accounts Receivable Aging Report in Excel
  • Appointment Tracker in Excel for Clinics and Small Teams
  • Make an Attendance Tracker in Excel
  • Do a Bank Reconciliation in Excel Step by Step
  • Build a Bill of Materials in Excel With Costs
  • Build a Bill Tracker in Excel
All projects articles →

Don't just read about Excel. Do it.

Practise real formulas in a live spreadsheet with instant feedback, right in your browser. Nothing to download.

Start learning for free