← Al Davies, 250 High Street

How to set up a training record in SharePoint

Short answer: build two lists. One list holds the courses. A second list holds the completions: one row each time a person finishes a course. Link the second list to the first with a Lookup column, add a Date completed column and an Expiry date column, then save a view that sorts by expiry date. That gives you one place to see who finished what, and what runs out next.

Important: required training rules are different in every industry. Some jobs need certain courses, and some courses must be repeated on a set schedule. This guide does not tell you what training you must have or how often. Follow your own compliance rules and your own policy. This guide only shows how to keep the record.

The exact menu names in Microsoft 365 may differ from what is written here, because Microsoft changes its screens from time to time. If a button has a slightly different name on your screen, look for the closest match.

Who this is for

You lead an operations team. You can click through a SharePoint site. You do not need to write code. If you can add a column to a list, you can do every step here.

Why two lists and not one

You could put everything in one list: person, course, date, expiry. It works for a week. Then the course name gets typed three ways ("Forklift", "forklift safety", "Fork lift"), and you cannot filter cleanly.

With two lists, each course name lives in one place. The completions list points to it. You fix a course name once, and every row follows. This is what a Lookup column does. Microsoft describes it as pulling information from a source list into a target list.

Before you start

  1. Pick the SharePoint site where the lists will live. Choose a site your team already uses.
  2. Check that you can create lists on that site. If the buttons are missing, ask your Microsoft 365 admin.
  3. Write down your courses on paper first. One line each. Do not worry about dates yet.

Step 1. Create the Courses list

  1. Go to the Lists app and select "+New list". Or, on your SharePoint site home page or Site contents page, select "+ New" then "List". (Microsoft Support, Create a list.)
  2. On the Create a list page, select the Blank list tile.
  3. Type a name, such as "Training Courses". A description is optional.
  4. If you are in the Lists app, choose where to save it. Pick your team's SharePoint site, not My lists, so your team can see it.
  5. Select Create. The blank list opens.

A new list starts with a Title column. Use Title for the course name. Add these columns only if you need them:

Keep this list short. One row per course. Enter your courses now.

Step 2. Create the Completions list

Repeat Step 1 and make a second blank list. Name it "Training Completions". Use the same site as the Courses list.

Microsoft says lookup columns should be created and used within the same site. That is why both lists go on one site.

Step 3. Add the Course lookup column

  1. Open the Training Completions list.
  2. Select Add column, then Lookup.
  3. Under "Select a list as a source", choose Training Courses.
  4. Under "Select a column from the list above", choose Title.
  5. Select Save.

Now each completion row has a Course drop-down that lists your courses. (Microsoft Support, Create list relationships by using lookup columns.)

One note from Microsoft: a lookup column cannot be built from some column types as the source, such as multiple lines of text or choice. This is why the course name is the plain Title column.

Step 4. Add the person, the date completed and the expiry date

Use a Person column for the person. It keeps names spelled the same way. The Title column is required by default, so the list would ask for a value in it on every row. Open the Title column settings and either turn off "Require that this column contains information", or rename Title to Notes.

To add each column:

  1. Open the list. To the right of the last column name, select "+ Add column".
  2. In the drop-down, pick the type of column you want.
  3. In the Create a column panel, type the name.
  4. Select Save.

(Microsoft Support, Create a column in a list or library.)

Add these columns:

If you do not see a type in the drop-down, scroll to the bottom and select "See all column types", then select Next. Then name the column and pick the type under "The type of information in this column is". Select OK to save.

About the expiry date: in this guide you type the expiry date yourself. You read the course rule, count forward from the completion date, and enter the result. That is the simplest approach, and it is easy to check by eye. Some courses never expire. For those, leave the Expiry date blank. Your own compliance rules decide how long each course lasts. Do not guess.

Step 5. Add one sample row

Before you enter real people, test with one sample row. Use a made-up person and a course that exists.

Example row:

Check three things. The Course drop-down shows your courses. The dates display in the format you expect. The row saves without an error. When it works, delete the sample row. Then enter real rows.

Step 6. Build the "Expiring soonest" view

A view is a saved way of looking at the same list. It does not change your data. Microsoft says a view lets you show the items you care about, with sorting or filtering. (Microsoft Support, Create, change, or delete a view of a list or library.)

  1. Open Training Completions. Select "View options", then "Save view as". Type a name, such as "Expiring soonest", and select Save. Create the new view first, so you do not change the default view.
  2. In the new view, select "View options", then "Edit current view". This opens the classic view editor.
  3. Under Sort, set the first sort to Expiry date, ascending (oldest first).
  4. Under Filter, set Expiry date, "is not equal to", and leave the value empty. This means Expiry date is not empty. Without this, courses that never expire sit at the top. We use the classic view editor for blank filters like this, not a column header. That part is our advice, not a Microsoft rule.
  5. Select OK to save the view.

Now anyone who opens this view sees the nearest expiry date at the top. Open it at the start of each week. Look at the first ten rows. Who is next?

If your screen shows older menus, the same task can be done with Create View on the List tab, then picking Sort and Filter in the view settings. Microsoft notes that in that older screen you can choose a personal view (only for you) or a public view (for everyone who uses the list), and that only a public view can be the default. Making a public view needs Designer-level permissions or similar.

Step 7. Make a second view by person

Many ops leads also need to answer "what has Maria Example finished?" without scrolling. Make another view. Group or filter it by Person. Save it as "By person". Use the same steps as Step 6.

Step 8. Set permissions

Decide who can see the record and who can change it. Training records can include private details. Share only what the people viewing it need.

By default, a list uses the permissions of its site. To give a list its own permissions:

  1. Open the list and select the Settings gear icon, then "List settings".
  2. On the Settings page, under "Permissions and Management", select "Permissions for this list".
  3. Select "Stop Inheriting Permissions". Microsoft says you must do this before you can change permission levels or remove users.
  4. Select the checkbox next to a user or group, then "Edit User Permissions", then check the level you want.

(Microsoft Support, Customize permissions for a SharePoint list or library.)

Microsoft says that when you share with people, the level defaults to Edit. To give read-only access, use "Show options" and change "Select a permission level".

One way to start: let a few named people edit, let managers read, and keep everyone else out. Ask your Microsoft 365 admin if your company has a rule about who may see training records.

What to avoid

Honest limits

A list records the facts you enter. It does not know if the facts are right. It does not tell you what training you need. A person still has to open the "Expiring soonest" view and act. If you want a message sent when a date is close, that is a separate step using Power Automate. For the pattern, see "Contract renewal dates missed: how to track them so none slip", which shows how to alert before a date. For a related checklist, see "New hire onboarding checklist scattered? Build one trackable list". If you track vendors with renewal dates, see "How to set up a vendor list with renewal dates in SharePoint".

Start small. Build it for one team and one or two courses. Enter real rows for a month. Fix what is awkward. Then add the rest.

When to get help

You can build all of this yourself in Microsoft 365. If you would rather have it built and tested for your team, I do that. A tracker like this is a fixed price: $5,000 for one, built in 2 weeks. See "What a SharePoint tracker costs". Bring one example of the problem to a free call.

Tell me what's still manual

I am Al Davies. I run 250 High Street LLC and build SharePoint trackers and Power Automate flows for operations teams. I work remotely. The first call is free, and I will not try to sell you anything.

See trackers I built: Tools I built

FAQ

Does this tell me which training I must have?

No. Required training rules differ by industry and by job. Follow your own compliance rules. This guide only shows how to keep the record.

Why not just use one Excel file?

You can. A shared list gives you one record that many people can use at once, plus saved views like "Expiring soonest". See "SharePoint list vs Excel" if you are deciding.

Can I change the course name later?

Yes. Because the completions list points to the courses list, you change the name in one place. Check a few rows afterward.

Who should be able to edit the record?

Fewer people is safer. One way to start is a few named editors and read access for managers. Your own policy comes first.

What if a course never expires?

Leave the Expiry date blank and filter blanks out in the classic view editor (Step 6). That part is our advice, not a Microsoft rule.

Sources