Skip to content
ArumSoft Learning
KO
    Excel templateHR and scheduling

    Employee Skills Matrix Template for Excel

    When the one person who can program the CNC is on holiday, the line waits. A skills matrix shows that risk before it bites. Rate each person on each skill from 0 (none) to 4 (can teach), and this workbook counts how many people can do each skill on their own, compares it with the cover you want, flags single points of failure, and keeps a training plan that knows each person's current level and marks an action Reached as soon as you raise it in the matrix.

    Sheets:
    6
    Works with:
    Excel for Microsoft 365, Excel 2016 or later, Excel for Mac and Excel for the web
    Updated:

    Employee Skills Matrix.xlsx

    Excel workbook (.xlsx) · 30 KB · 6 sheets

    Download template

    Free to download. No sign-up needed.

    What you can do with it

    • People × skills heat map with levels 0–4 (none, aware, needs help, works alone, can teach)
    • Proficient people and experts per skill against a target, with gap and status
    • Single points of failure and skills with no coverage flagged automatically
    • Training plan with current level from a two-way INDEX/MATCH and status Open, Overdue or Reached
    Start Here sheet of the employee skills matrix Excel template showing the team name, proficient level, default coverage target, people and skills counts, average level, skills below target, single points of failure, open training actions, the most versatile person and a chart of proficient people against target by skill
    The Start Here sheet with 20 sample employees and 15 plant-floor skills.

    What's inside

    The workbook has 6 sheets. You only type on a few of them; the rest calculate.

    SheetWhat it's forYou enterCalculated for you
    Start HereSettings and the coverage summaryTeam name, proficient level, default target per skillPeople, skills, average level, skills below target, single points of failure, skills with no cover, open training actions, most versatile person
    SkillsSkill list and coverage (15)Skill, category, target (optional)Proficient people, experts, average level, target used, gap, status
    MatrixPeople × skills (30 × 15)Name, role, team, a level 0–4 per skillAverage level, proficient skills, expert skills, strongest skill
    TrainingTraining actions (40)Employee, skill, target level, method, due date, completedCurrent level, status
    ListsDropdownsTraining methods, Yes/NoNothing
    ChecksSix data checksNothingOK or Review

    Before you start

    • Agree on what each level means for your skills, with an example for 3 (works alone) and 4 (can teach). Write it on the Start Here sheet.
    • Rate with the person and their supervisor together; self-ratings alone run high.
    • For each skill, decide how many people you need able to do it alone to cover shifts, holidays and turnover.

    Step-by-step guide

    1. Set the levels and target

      Start Here B6–B8: team name, the level that counts as proficient (3) and the default number of proficient people per skill.

    2. List the skills

      Skills tab: skill name, category and, where it differs from the default, a target of its own. The names become the matrix headers.

    3. Rate everyone

      Matrix tab: name, role, team, then a level from 0 to 4 under each skill. The cells color from red to green.

    4. Find the risks

      Skills tab column I: No coverage, Single point of failure, Below target or OK. Start Here counts them.

    5. Plan the training

      Training tab: who should learn what, to which level, how and by when. Current level is read from the matrix.

    6. Update as people learn

      Raise the level in the matrix and the training row turns to Reached; coverage and the chart update.

    Formula map

    Every formula in the workbook, grouped by the sheet and column it lives in. A column of copied formulas counts once; the range it covers is shown.

    SheetCellsFunctionsWhat it computesReadsFeeds
    SkillsD5 copied down to row 19IF, COUNTIF, INDEX, MATCHProficient people per skillA5Compared with the target for the gap and status.
    SkillsG5 copied down to row 19IFTarget usedC5Gap = target used − proficient people.
    SkillsI5 copied down to row 19IFCoverage statusD5, H5Colored by severity; counted on Start Here B15–B17.
    MatrixT5 copied down to row 34IF, COUNTIFProficient skills per personA5The most versatile person on Start Here B19 is the highest count.
    MatrixV5 copied down to row 34IF, OR, COUNT, INDEX, MATCH, MAXStrongest skillA5A quick view of who to ask about what.
    TrainingC5 copied down to row 44IF, OR, IFERROR, INDEX, MATCHCurrent level (two-way lookup)A5, B5Compared with the target level for the status.
    TrainingH5 copied down to row 44IF, AND, TODAYTraining statusC5, D5, G5, F5Open and Overdue are counted on Start Here B18.
    Start HereB16COUNTIFSingle points of failure—The headline risk for the team.

    Every formula, explained

    Each formula below is copied straight from the file, so what you read here is exactly what the cell contains. Click any cell in Excel to see it in the formula bar.

    Proficient people per skillSkills!D5 · copied down to row 19
    =IF(A5="", "", COUNTIF(INDEX(Matrix!$D$5:$R$34, 0, MATCH(A5, Matrix!$D$4:$R$4, 0)),
        ">="&'Start Here'!$B$7))

    Finds this skill's column in the matrix by name and counts the levels at or above the proficient level.

    Piece by piece

    MATCH(A5, Matrix!$D$4:$R$4, 0)
    Which matrix column is this skill.
    INDEX(Matrix!$D$5:$R$34, 0, …)
    That whole column.
    COUNTIF(…, ">="&'Start Here'!$B$7)
    Levels 3 and 4.

    With the sample data: A5 = Forklift operation → D5 result 3

    How it is used: Compared with the target for the gap and status.

    How to change it: Change the proficient level on Start Here B7.

    Learn this: How to Use COUNTIF and COUNTIFS in Excel →
    Target usedSkills!G5 · copied down to row 19
    =IF(A5="", "", IF(C5="", 'Start Here'!$B$8, C5))

    The skill's own target if you entered one, otherwise the default from Start Here.

    Piece by piece

    C5=""
    No target of its own.
    'Start Here'!$B$8
    Default target.

    With the sample data: C5 = 4 → G5 result 4

    How it is used: Gap = target used − proficient people.

    How to change it: Type a number in column C to override.

    Learn this: How to Use the IF Function in Excel →
    Coverage statusSkills!I5 · copied down to row 19
    =IF(A5="", "", IF(D5=0, "No coverage",
        IF(D5=1, "Single point of failure", IF(H5>0, "Below target", "OK"))))

    Checks the worst case first: nobody proficient, then only one person, then any gap to target.

    Piece by piece

    D5=0
    "No coverage".
    D5=1
    "Single point of failure".
    H5>0
    "Below target".
    "OK"
    Target met.

    With the sample data: D5 = 3, H5 = 1 → I5 result Below target

    How it is used: Colored by severity; counted on Start Here B15–B17.

    How to change it: Nothing to change.

    Learn this: How to Use the IF Function in Excel →
    Proficient skills per personMatrix!T5 · copied down to row 34
    =IF(A5="", "", COUNTIF(D5:R5, ">="&'Start Here'!$B$7))

    Counts how many skills on this row are at or above the proficient level.

    Piece by piece

    D5:R5
    This person's 15 levels.
    ">="&'Start Here'!$B$7
    Proficient or better.

    With the sample data: A5 = Ana Ruiz → T5 result 2

    How it is used: The most versatile person on Start Here B19 is the highest count.

    How to change it: Nothing to change.

    Learn this: How to Use COUNTIF and COUNTIFS in Excel →
    Strongest skillMatrix!V5 · copied down to row 34
    =IF(OR(A5="", COUNT(D5:R5)=0),
        "", INDEX($D$4:$R$4, MATCH(MAX(D5:R5), D5:R5, 0)))

    Finds the highest level on the row and returns the skill heading above it (the first one if tied).

    Piece by piece

    MAX(D5:R5)
    Highest level.
    MATCH(…, D5:R5, 0)
    Its position along the row.
    INDEX($D$4:$R$4, …)
    The skill name from the header.

    With the sample data: A5 = Ana Ruiz → V5 result CNC setup

    How it is used: A quick view of who to ask about what.

    How to change it: Nothing to change.

    Learn this: How to Use INDEX and MATCH in Excel →
    Current level (two-way lookup)Training!C5 · copied down to row 44
    =IF(OR(A5="", B5=""), "",
        IFERROR(INDEX(Matrix!$D$5:$R$34, MATCH(A5, Matrix!$A$5:$A$34, 0), MATCH(B5, Matrix!$D$4:$R$4, 0)),
        "Not found"))

    Looks up the cell where this person's row meets this skill's column in the matrix.

    Piece by piece

    MATCH(A5, Matrix!$A$5:$A$34, 0)
    Row of the employee.
    MATCH(B5, Matrix!$D$4:$R$4, 0)
    Column of the skill.
    INDEX(Matrix!$D$5:$R$34, row, column)
    The level where they cross.
    IFERROR(…, "Not found")
    A misspelled name or skill.

    With the sample data: A5 = Ana Ruiz, B5 = CNC programming → C5 result 1

    How it is used: Compared with the target level for the status.

    How to change it: Nothing to change; pick names and skills from the dropdowns to avoid typos.

    Learn this: How to Use INDEX and MATCH in Excel →
    Training statusTraining!H5 · copied down to row 44
    =IF(A5="", "", IF(C5="Not found",
        "Check name or skill", IF(C5>=D5, "Reached", IF(G5="Yes", "Done - update matrix", IF(AND(F5<>"", F5<TODAY()), "Overdue", "Open")))))

    Reached once the matrix level meets the target; Done – update matrix if marked complete but the level is still low; Overdue if past the due date; otherwise Open.

    Piece by piece

    C5="Not found"
    Fix the name or skill.
    C5>=D5
    Reached.
    G5="Yes"
    Training done, matrix not updated.
    F5<TODAY()
    Overdue.

    With the sample data: C5 = 1, D5 = 3, G5 = No, F5 = Dec 15, 2026 → H5 result Open

    How it is used: Open and Overdue are counted on Start Here B18.

    How to change it: Nothing to change.

    Learn this: How to Use TODAY and NOW in Excel →
    Single points of failureStart Here!B16
    =COUNTIF(Skills!$I$5:$I$19, "Single point of failure")

    Counts skills whose status is "Single point of failure".

    Piece by piece

    Skills!$I$5:$I$19
    Status column.
    "Single point of failure"
    Exact text to count.

    With the sample data: B16 result 5

    How it is used: The headline risk for the team.

    How to change it: Nothing to change.

    Learn this: How to Use COUNTIF and COUNTIFS in Excel →

    Tips and limits

    • Capacity: 30 people and 15 skills. To add skills, insert columns inside D:R on the Matrix tab and rows inside the Skills table, then copy the formulas.
    • Re-rate every six months, and after any training, certification or new hire.
    • Some skills need a minimum per shift, not per team. Make one copy of the matrix per shift if so.
    • Use the Experts count (level 4) to choose trainers for the training plan.
    • Keep certification expiry dates in a separate column or tracker; this matrix tracks capability, not paperwork.

    Learn the skills behind this template

    Was this guide helpful? Spot a mistake? Send feedback · admin@arumsoft.com