
How Do You Normalize Data in Excel? (2026 Guide)
Carlos Garcia9/26/2026You have two columns of numbers and they refuse to be compared. One is revenue in the hundreds of thousands. The other is conversion rate, sitting between 0.01 and 0.06. Chart them together and the conversion rate flatlines against the bottom axis. Feed them into the same model and the big numbers drown out the small ones.
Normalizing fixes that. It rescales different measures onto a common footing so they can sit in the same chart, the same score, or the same regression without one bullying the others.
Excel has no single "Normalize" button, which is why this trips people up. What it has is three or four small formulas that each do the job in a different way, plus one built-in function most people never notice. This guide covers all of them, when each is the right choice, and the mistakes that quietly corrupt the output.
What Does Normalizing Data in Excel Actually Mean?
Normalizing means rescaling a set of numbers so they fall inside a standard range or share a standard spread, without changing the relationships between them.
The two methods that cover the overwhelming majority of real work are min-max normalization, which squeezes every value into a 0-to-1 range, and Z-score standardization, which recentres the data on a mean of 0 and expresses every value as a number of standard deviations from that mean.
In Excel both are one formula, filled down a column. Min-max is `=(A2-MIN($A$2:$A$100))/(MAX($A$2:$A$100)-MIN($A$2:$A$100))`. Z-score is `=STANDARDIZE(A2,AVERAGE($A$2:$A$100),STDEV.S($A$2:$A$100))`.
That is the short answer. The rest of this guide is about choosing correctly between them, because picking the wrong one will not throw an error — it will just give you a misleading chart.
Not sure whether your content is actually being found by the people searching for it? Get a free SEO audit and see where you stand.
Why Normalize Data at All?
Different units cannot be compared directly
Spend in dollars, sessions as a count, and bounce rate as a percentage all live on wildly different scales. Any comparison, ranking or composite score built on the raw numbers is dominated by whichever column happens to have the biggest magnitude.
Charts become readable
Plotting a series that ranges from 0 to 1 against one that ranges from 0 to 400,000 on a single axis makes the small series invisible. Normalize both to 0-1 and the shapes of the two trends can be compared directly.
Models and scores behave
Distance-based methods — clustering, nearest-neighbour matching, anything that adds weighted components together — are sensitive to scale. A column measured in thousands will contribute far more to the result than a column measured in decimals, purely because of its units.
Outliers become visible
Z-scores in particular turn "is this unusual?" into a single readable number. Anything beyond roughly plus or minus 3 is an extreme value worth investigating before it skews everything downstream.
The Three Normalization Formulas You Actually Need
Min-max normalization (0 to 1 scaling)
This is the one people usually mean. Every value is rescaled so the smallest becomes 0, the largest becomes 1, and everything else lands proportionally in between.
The formula is `(value - minimum) / (maximum - minimum)`. In Excel, with your data in A2:A100:
`=(A2-MIN($A$2:$A$100))/(MAX($A$2:$A$100)-MIN($A$2:$A$100))`
The dollar signs matter. Without them, filling the formula down shifts the range on every row and the whole column is wrong. Lock the range once and the fill handle does the rest.
To scale to a custom range instead of 0-1 — say 0 to 100 — multiply the result: `=((A2-MIN($A$2:$A$100))/(MAX($A$2:$A$100)-MIN($A$2:$A$100)))*100`.
Z-score standardization
A Z-score expresses each value as its distance from the mean, measured in standard deviations. The output is centred on 0, typically falls between -3 and +3, and is not bounded.
Excel has a built-in function for this that almost nobody uses: `=STANDARDIZE(A2,AVERAGE($A$2:$A$100),STDEV.S($A$2:$A$100))`.
Use `STDEV.S` when your rows are a sample of a larger population, which is the usual case. Use `STDEV.P` only when the rows genuinely are the entire population.
Written out manually it is `=(A2-AVERAGE($A$2:$A$100))/STDEV.S($A$2:$A$100)`, which produces identical results. `STANDARDIZE` is just shorter and harder to typo.
Decimal scaling and percentage-of-total
Decimal scaling divides every value by a power of ten large enough to pull the whole column below 1. It is crude but fast: `=A2/1000` if your maximum is in the hundreds.
Percentage-of-total is the one most reporting actually wants: `=A2/SUM($A$2:$A$100)`. It is technically a normalization, and for share-of-traffic or share-of-spend questions it is the correct one.
Want to know which pages on your site are pulling their weight? Run a free SEO audit and get the data in minutes.
How to Normalize Data in Excel Step by Step
- Put your raw values in a single column with a header — say column A, rows 2 to 100.
- Clean the column first. Remove blanks, strip text that has been stored as a number, and delete or flag any obviously broken rows.
- In an empty column, calculate your anchors. Put `=MIN($A$2:$A$100)` in one cell and `=MAX($A$2:$A$100)` in another so you can see them.
- In B2, enter the min-max formula: `=(A2-MIN($A$2:$A$100))/(MAX($A$2:$A$100)-MIN($A$2:$A$100))`.
- Check B2 by eye. If A2 is the smallest value, B2 should be exactly 0. If it is the largest, B2 should be exactly 1.
- Select B2 and double-click the fill handle in the bottom-right corner to copy it down the full range.
- Format column B to three or four decimal places so the results are readable rather than a wall of digits.
- Repeat in column C with `=STANDARDIZE(A2,AVERAGE($A$2:$A$100),STDEV.S($A$2:$A$100))` if you also want Z-scores.
- Sanity-check the Z-score column: `=AVERAGE(C2:C100)` should return approximately 0 and `=STDEV.S(C2:C100)` should return approximately 1.
- If you are normalizing several columns, repeat per column. Never normalize across a whole table at once unless every column shares the same unit.
That last point is the one that catches people. Normalization is a per-column operation. Applying one shared minimum and maximum across columns measuring different things defeats the entire purpose.
Normalizing Inside a Table or Pivot Table
If your data is in a formatted Excel Table, the formula uses structured references instead of cell addresses, and the fill happens automatically:
`=([@Revenue]-MIN([Revenue]))/(MAX([Revenue])-MIN([Revenue]))`
Add that as a new column inside the Table and Excel applies it to every row without any dragging. It also keeps working when new rows are appended, which a hard-coded `$A$2:$A$100` range will not.
For pivot tables, the closest built-in equivalent is "Show Values As". Right-click a value field, choose Show Values As, and pick "% of Grand Total", "% of Column Total" or "% of Parent Row Total". That gives you percentage-of-total normalization with no formula at all.
Pivot tables cannot do min-max or Z-score natively. For those, normalize in the source data and pivot the normalized column.
When to Use Each Method
Use min-max when you need a bounded output, when you are building a composite score out of several metrics, or when you are feeding a chart that needs every series on the same 0-1 axis. It is intuitive and easy to explain to a stakeholder.
Use Z-scores when you care about how unusual a value is rather than where it sits in the range, when you are comparing distributions with different spreads, or when outliers matter and you want them to stay visible rather than being flattened.
Use percentage of total when the question is about share — share of revenue, share of sessions, share of budget. This is most marketing reporting, and reaching for min-max here is overengineering.
Use decimal scaling essentially never, unless you are matching an external system that expects it.
Curious how your site compares to competitors on the metrics that actually move rankings? Get a free SEO audit and find out.
Limitations and Common Mistakes
Min-max is fragile to outliers. One erroneous value ten times larger than everything else will compress every other row into the bottom few percent of the range. Always check your maximum before trusting the output.
Hard-coded ranges break when data grows. `$A$2:$A$100` silently ignores row 101. Use an Excel Table, or a whole-column reference such as `$A:$A`, so the range expands with the data.
A zero range returns a division error. If every value in the column is identical, `MAX - MIN` equals zero and the formula returns `#DIV/0!`. Wrap it: `=IFERROR((A2-MIN($A$2:$A$100))/(MAX($A$2:$A$100)-MIN($A$2:$A$100)),0)`.
Normalized values are not comparable across datasets. A 0.8 in January's data and a 0.8 in February's data mean different things if the minimum and maximum changed. If you need cross-period comparability, fix the anchors manually rather than recalculating them each month.
Blank cells are treated as zero by some functions and skipped by others. `AVERAGE` ignores blanks; arithmetic on a blank cell treats it as 0. Clean before you normalize.
Do not normalize data that is already normalized. Percentages, indexes and rates that already sit on a common scale rarely need it, and rescaling them a second time just obscures the original meaning.
Cleaning up your data is one job; getting the page in front of searchers is another. Get a free SEO audit and see what is holding your pages back.
Excel vs Google Sheets vs Power BI
In Google Sheets, every formula above works unchanged. `STANDARDIZE`, `MIN`, `MAX`, `AVERAGE` and `STDEV` all exist with the same syntax, and `ARRAYFORMULA` can apply the calculation down a whole column in one cell.
In Power BI, normalization is usually done in DAX with a measure rather than a column, using `MINX` and `MAXX` over the filtered table so the scaling respects whatever slicers are applied. That is a genuine advantage over Excel, where the anchors are fixed to the range you wrote.
In Python or R, this is a single call to a scaler. If you are normalizing thousands of columns routinely, that is the better tool. For the everyday case of two or three columns in a report, Excel is faster than moving the data anywhere.
The practical rule: normalize in Excel when the data is already there and the output is a chart or a small score. Move it when the normalization is one step in a longer pipeline.
Final Thoughts
Normalizing data in Excel is two formulas and one decision. The formulas are easy. The decision — min-max for bounded comparison, Z-scores for unusualness, percentage of total for share — is what separates a chart that reveals something from one that just looks tidy.
Start with min-max if you are unsure. It is the most intuitive, it is the easiest to explain, and its main weakness, outlier sensitivity, is something you should be checking for anyway.
And check your anchors before you trust the column. A single bad maximum will quietly ruin every row beneath it, and Excel will not warn you.
If you are working with raw data in Excel regularly, it is worth knowing how to split it into meaningful groups first — our guide on how to stratify data in Excel covers the step that usually comes just before this one.



