Build a Risk Register in Excel With Risk Scores
By ExcelReady TeamUpdated 6 min read
The short answer
A risk register in Excel is a table with one row per risk and columns for likelihood, impact, score, rating, owner and status. Score each risk with =Likelihood*Impact on a 1 to 5 scale, turn the score into High, Medium or Low with IFS, color the ratings with conditional formatting and count open risks with COUNTIFS.
Key takeaways
- Give every risk a likelihood and an impact from 1 to 5, and multiply them for a score from 1 to 25.
- =IFS(E2>=15,"High",E2>=8,"Medium",TRUE,"Low") turns the score into a rating. Agree the cut-offs with your team.
- Drop-down lists for the 1 to 5 scores and the status stop typing mistakes.
- Conditional formatting colors High risks, and COUNTIFS counts them by status or owner.
On this page+
A risk register in Excel is a simple table: one row per risk, with a likelihood, an impact, a score and an owner. Excel does the scoring for you, labels each risk High, Medium or Low, colors the dangerous ones and counts what's still open. This guide is for project coordinators, team leads and anyone asked to "keep a risk log", and it builds the whole register with three formulas.
What goes in a risk register?#
A risk register lists the things that could go wrong, how likely and how serious each one is, and who is dealing with it. Each risk is one row. These columns cover most needs:
| Column | What it holds | Example |
|---|---|---|
| ID | A short unique code | R-01 |
| Risk | What could happen, in one line | Supplier delays delivery |
| Likelihood | How likely, from 1 (rare) to 5 (almost certain) | 4 |
| Impact | How serious, from 1 (minor) to 5 (severe) | 5 |
| Score | Likelihood × Impact | 20 |
| Rating | High, Medium or Low, worked out from the score | High |
| Owner | The person responsible | Priya |
| Status | Open, Monitoring or Closed | Open |
Many teams also add a response column (what you'll do about it) and a review date. Keep the register as one block with no empty rows, so sorting, filtering and formulas work on all of it.
Here is the example register used in this guide, in A1:H8:
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | ID | Risk | Likelihood | Impact | Score | Rating | Owner | Status |
| 2 | R-01 | Supplier delays delivery | 4 | 5 | 20 | High | Priya | Open |
| 3 | R-02 | Key developer leaves | 2 | 4 | 8 | Medium | Tom | Open |
| 4 | R-03 | Budget overrun | 3 | 3 | 9 | Medium | Ana | Open |
| 5 | R-04 | Laptop with data is stolen | 1 | 5 | 5 | Low | Ben | Closed |
| 6 | R-05 | Scope creep | 4 | 4 | 16 | High | Ana | Open |
| 7 | R-06 | Venue unavailable | 2 | 2 | 4 | Low | Priya | Open |
| 8 | R-07 | Regulation changes | 3 | 5 | 15 | High | Tom | Monitoring |
How to calculate a risk score#
The risk score is likelihood multiplied by impact. In E2, type:
=C2*D2Press Enter, then fill it down to E8 (select E2:E8 and press Ctrl+D; on a Mac, ⌘D). R-01 scores 4 × 5 = 20. With both scales running from 1 to 5, every score lands between 1 and 25.
Multiplying gives a big score only when a risk is both likely and serious. A rare but severe risk, like R-04, scores just 5. That's the point: it pushes the risks that need attention now to the top.
Turn the score into a rating with IFS#
IFS checks conditions in order and returns the result for the first one that's true. In F2, type:
=IFS(E2>=15,"High",E2>=8,"Medium",TRUE,"Low")Fill it down. Scores of 15 to 25 become High, 8 to 14 become Medium, and 1 to 7 become Low. The final TRUE,"Low" is a catch-all: TRUE is always true, so any score that failed the first two tests gets Low.
Order matters. Check the highest band first. If you started with E2>=8, a score of 20 would stop there and be called Medium. These cut-offs are an example; many organisations set their own, so use the bands your team or policy agrees on. The IFS function guide and the article on how IFS replaces nested IF explain the syntax in more detail.
IFS needs Excel 2019 or later, or Microsoft 365. In older Excel, use nested IF, which gives the same results:
=IF(E2>=15,"High",IF(E2>=8,"Medium","Low"))Stop typing mistakes with drop-down lists#
A typo like "Opne" or a likelihood of 6 breaks your counts. Add drop-down lists so people can only pick valid values:
- Select C2:D50 (likelihood and impact).
- Go to Data > Data Validation.
- Under Allow, choose Whole number, between 1 and 5.
- For the Status column, select H2:H50, choose List, and type
Open,Monitoring,Closedin Source.
Now Excel rejects anything outside the list. The rating column stays a formula, so nobody types a rating by hand.
Color high risks with conditional formatting#
Conditional formatting changes a cell's color when it meets a rule. To color the ratings:
- Select F2:F8.
- Go to Home > Conditional Formatting > Highlight Cells Rules > Equal To.
- Type
Highand choose Light Red Fill with Dark Red Text. - Repeat with
Mediumand a yellow fill.
To color the whole row of every High risk, select A2:H8, choose New Rule > Use a formula to determine which cells to format, and enter:
=$F2="High"The $ locks column F, so every cell in the row checks that row's rating. The conditional formatting guide shows more rule types, such as color scales.
Count risks with COUNTIFS#
COUNTIFS counts the rows that meet every condition you give it. It turns the register into a summary for a status meeting:
| Question | Formula | Result |
|---|---|---|
| How many High risks? | =COUNTIFS(F2:F8,"High") | 3 |
| How many High risks are still open? | =COUNTIFS(F2:F8,"High",H2:H8,"Open") | 2 |
| How many open risks does Ana own? | =COUNTIFS(G2:G8,"Ana",H2:H8,"Open") | 2 |
| How many risks score 10 or more? | =COUNTIFS(E2:E8,">=10") | 3 |
R-07 is High but has the status Monitoring, which is why the second count is 2, not 3. The COUNTIFS function guide and the article on COUNTIFS and SUMIFS with several conditions cover criteria like ">=10".
Build a simple risk matrix#
A risk matrix (or heat map) shows how many risks sit at each likelihood and impact. Put likelihood 5 to 1 in J3:J7 and impact 1 to 5 in K2:O2. In K3, type:
=COUNTIFS($C$2:$C$8,$J3,$D$2:$D$8,K$2)Fill it across to O3 and down to row 7. The mixed references matter: $J3 always reads the likelihood from column J, and K$2 always reads the impact from row 2. In this register, the cell for likelihood 4 and impact 5 shows 1 (R-01). Add a color scale from Home > Conditional Formatting > Color Scales so busy cells stand out.
A risk register sits well next to a project budget in Excel, and both are core Excel skills for project managers.
Practise it#
The rating formula is the heart of the register. Practise nested IF and IFS in a live spreadsheet: you type the formula and it checks it instantly. Then learn to count with several conditions in the COUNTIFS and SUMIFS lesson and color rows with a formula rule. Try the IFS exercise on this page first.
Try it yourself
This is a live spreadsheet. Type the formula in the green cell and press Enter.
Rate the first risk. Click E2 and use IFS: 15 or more is High, 8 or more is Medium, anything else is Low. The score is in D2.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Rating | |||||
| 2 | ||||||
| 3 | ||||||
| 4 | ||||||
| 5 | ||||||
| 6 | ||||||
| 7 |
Tip: Check the highest band first: D2>=15, then D2>=8. End with TRUE,"Low" to catch everything else.
Practise this in a lesson
Frequently asked questions
How do you calculate a risk score in Excel?
Multiply likelihood by impact. With both on a 1 to 5 scale, =C2*D2 gives a score from 1 to 25. Fill it down the column so every risk gets a score.
What columns should a risk register have?
At minimum: an ID, a short description, likelihood, impact, score, rating, owner, response and status. Add a date raised and a review date if you report on the register every week.
How do I make a risk matrix in Excel?
Put likelihood 1 to 5 down the side and impact 1 to 5 across the top. In each cell, count the matching risks with COUNTIFS, then add a color scale with conditional formatting.
Does IFS work in all versions of Excel?
No. IFS needs Excel 2019 or later, or Microsoft 365. In older versions, use nested IF: =IF(E2>=15,"High",IF(E2>=8,"Medium","Low")).