# How to scale values to 0-100% in Excel

Use min-max scaling: `=(B2-MIN($B$2:$B$9))/(MAX($B$2:$B$9)-MIN($B$2:$B$9))`. The lowest value becomes 0% and the highest 100%.

**Excel:** `=(B2-MIN($B$2:$B$9))/(MAX($B$2:$B$9)-MIN($B$2:$B$9))` (Excel 2021, 2024 and Microsoft 365)

**Google Sheets:** the same formula works.

## Example

Sample data (row 1 is the header):

| A | B | C |
| --- | --- | --- |
| Store | Satisfaction score | Scaled |
| A | 62 |  |
| B | 75 |  |
| C | 88 |  |
| D | 70 |  |
| E | 95 |  |
| F | 58 |  |
| G | 81 |  |
| H | 66 |  |

Formula in C2, filled to C9: `=(B2-MIN($B$2:$B$9))/(MAX($B$2:$B$9)-MIN($B$2:$B$9))`

Result: 10.8%; 45.9%; 81.1%; 32.4%; 100.0%; 0.0%; 62.2%; 21.6%

## How it works

Subtracting the minimum moves the lowest score to 0, and dividing by the range (maximum minus minimum, 37 here) makes the highest 1. Everything else lands in between in proportion: store C's 88 is 81.1% of the way from the lowest to the highest.

## Other ways

- `=LET(lo,MIN($B$2:$B$9),hi,MAX($B$2:$B$9),(B2-lo)/(hi-lo))`: Excel 2021, Microsoft 365 and Google Sheets: LET names the minimum and maximum so the formula reads clearly.

## Common mistakes

- If all values are equal, the range is 0 and the formula returns #DIV/0!. Guard it with IFERROR.
- Adding a new extreme value rescales every other row. For scores that must stay comparable over time, scale against fixed limits instead.

## Questions

**How do I scale to 0-10 or 1-5 instead?**

Multiply and shift: for 1 to 5, use `=1+4*(B2-MIN($B$2:$B$9))/(MAX($B$2:$B$9)-MIN($B$2:$B$9))`.

**How is this different from percent of maximum?**

Percent of maximum divides by the top value only, so the lowest store isn't 0%: `=B2/MAX($B$2:$B$9)`.

Every formula and result on this page was checked by running it in the Spreadsheet Practice formula engine on 2026-10-30.

Source: https://spreadsheetpractice.com/formulas/normalize-values-to-percentages
