Normal Distribution in Excel: NORM.DIST and a Bell Curve
By ExcelReady TeamUpdated 6 min read
The short answer
For a normal distribution in Excel, use =NORM.DIST(x, mean, standard_dev, TRUE) to get the probability of a value at or below x, and FALSE to get the height of the bell curve at x. NORM.INV works the other way, turning a probability into a cutoff value. With mean 70 and standard deviation 10, NORM.DIST(85,70,10,TRUE) is about 0.933.
Key takeaways
- =NORM.DIST(x, mean, standard_dev, TRUE) returns the share of values at or below x.
- Set the last argument to FALSE for the curve's height at x, which you only need to draw the bell curve.
- =NORM.INV(probability, mean, standard_dev) gives the cutoff, such as the score that marks the top 10%.
- A z-score is (x − mean) / standard deviation, and NORM.S.DIST turns it into a probability.
- Lock the mean and standard deviation cells with $ before you fill formulas down.
On this page+
The normal distribution in Excel comes down to two functions: NORM.DIST, which turns a value into a probability, and NORM.INV, which turns a probability back into a value. With them you can answer "what share of scores are below 85?" and "what score marks the top 10%?", and you can draw the classic bell curve. This guide is for students, analysts and anyone who has to work with test scores, measurements or other data that clusters around an average.
What is a normal distribution?#
A normal distribution is a symmetric, bell-shaped pattern where most values sit near the average and fewer sit far from it. Two numbers describe it completely:
- The mean: the centre of the bell, from AVERAGE.
- The standard deviation: how wide the bell is, from STDEV.S. See how to calculate standard deviation in Excel.
In a normal distribution, about 68% of values fall within 1 standard deviation of the mean, about 95% within 2, and about 99.7% within 3. This is often called the 68-95-99.7 rule.
All examples below use eight exam scores with a mean of 70 and a standard deviation of 10:
| A | B | |
|---|---|---|
| 1 | Student | Score |
| 2 | S1 | 64 |
| 3 | S2 | 61 |
| 4 | S3 | 89 |
| 5 | S4 | 57 |
| 6 | S5 | 76 |
| 7 | S6 | 72 |
| 8 | S7 | 68 |
| 9 | S8 | 73 |
=AVERAGE(B2:B9) returns 70 and =STDEV.S(B2:B9) returns 10. The AVERAGE function guide covers how AVERAGE treats blanks and text.
NORM.DIST in Excel: syntax#
NORM.DIST takes four arguments:
=NORM.DIST(x, mean, standard_dev, cumulative)| Argument | What it means | Example |
|---|---|---|
| x | The value you're asking about | 85 |
| mean | The centre of the distribution | 70 |
| standard_dev | The spread; must be more than 0 | 10 |
| cumulative | TRUE for "at or below x", FALSE for the curve's height | TRUE |
Most of the time you want TRUE. FALSE returns the probability density, the height of the curve. For a smooth distribution, the chance of hitting one exact value is zero, so the height is not a probability by itself. You need it only to draw the curve.
NORM.DIST arrived in Excel 2010. The older NORMDIST still works and returns the same numbers.
Find probabilities with NORM.DIST#
Put the mean in G1 and the standard deviation in G2, so you never retype them. Then:
| Question | Formula | Result |
|---|---|---|
| Share of scores at or below 85 | =NORM.DIST(85,G1,G2,TRUE) | 0.9332 (93.3%) |
| Share above 85 | =1-NORM.DIST(85,G1,G2,TRUE) | 0.0668 (6.7%) |
| Share between 60 and 80 | =NORM.DIST(80,G1,G2,TRUE)-NORM.DIST(60,G1,G2,TRUE) | 0.6827 (68.3%) |
| Share between 50 and 90 | =NORM.DIST(90,G1,G2,TRUE)-NORM.DIST(50,G1,G2,TRUE) | 0.9545 (95.4%) |
The last two rows are the 68-95-99.7 rule in action: 60 to 80 is 1 standard deviation either side, and 50 to 90 is 2. For "above" questions, subtract from 1. For "between" questions, subtract the lower cumulative result from the higher one.
Find a cutoff with NORM.INV#
NORM.INV is the reverse of NORM.DIST. Give it a probability and it returns the value:
=NORM.INV(probability, mean, standard_dev)To find the score that marks the top 10%, ask for the value with 90% below it: =NORM.INV(0.9,G1,G2) returns 82.8. The middle 50% of scores runs from =NORM.INV(0.25,G1,G2) (63.3) to =NORM.INV(0.75,G1,G2) (76.7).
These are what the model predicts. To get percentiles straight from your actual data instead, use PERCENTILE.INC or QUARTILE.INC; the guide to percentiles and quartiles in Excel shows both.
Z-scores and NORM.S.DIST#
A z-score says how many standard deviations a value is from the mean:
=(x - mean) / standard_devThe top score, 89, has a z-score of (89 − 70) ÷ 10 = 1.9. Excel's STANDARDIZE does the same: =STANDARDIZE(89,70,10) also returns 1.9.
NORM.S.DIST is the standard normal distribution, with mean 0 and standard deviation 1. It takes a z-score directly: =NORM.S.DIST(1.9,TRUE) returns 0.9713, so a score of 89 is higher than about 97% of the model's values. NORM.S.INV goes the other way: =NORM.S.INV(0.975) returns 1.96, the number behind 95% confidence intervals.
How to make a bell curve in Excel#
A bell curve is a chart of NORM.DIST with FALSE over a range of x values. Build it in four steps:
- In G1 type the mean (70) and in G2 the standard deviation (10).
- In C2 type 40 (the mean minus 3 standard deviations). In C3 type
=C2+2and fill down until you reach 100. - In D2 type the height formula and fill it down (Windows: Ctrl+D; Mac: ⌘D):
=NORM.DIST(C2,$G$1,$G$2,FALSE)- Select C2:D32 and choose Insert > Scatter > Scatter with Smooth Lines.
The $ signs matter. Without them, the mean and standard deviation references slide down to G2, G3 and so on as you fill, and the curve falls apart. The peak height at 70 is about 0.0399, and the curve is symmetric: the height at 60 and at 80 is the same, about 0.0242. Use a step of 1 instead of 2 for a smoother line.
Check whether your data looks normal#
Not every data set is normal, and NORM.DIST gives misleading answers when it isn't. Three quick checks:
- Mean vs median. In a symmetric distribution they are close. Here both are 70. A big gap means the data is skewed; see average vs median.
- The 68% check. Count the values within 1 standard deviation:
=COUNTIFS(B2:B9,">="&G1-G2,B2:B9,"<="&G1+G2)returns 6 of 8 (75%). With only eight values, that's close enough to 68%. - The shape. A histogram shows whether the data has one central peak. Follow how to make a histogram in Excel and compare it with your bell curve.
Income, wait times and house prices are often skewed, with a long tail on one side. For data like that, report percentiles rather than normal probabilities.
Practise it#
The normal distribution is built on the mean, and the bell curve depends on locked references. Practise AVERAGE, MIN and MAX in a live spreadsheet, then practise absolute references with the $ sign so your formulas fill down correctly. You type each formula and it checks it instantly. Or work out the z-score of 89 in the exercise on this page.
Try it yourself
This is a live spreadsheet. Type the formula in the green cell and press Enter.
How many standard deviations above the mean is the top score, 89? Click E4 and work out its z-score: =(B4-AVERAGE(B2:B9))/E2.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Score | |||||
| 2 | ||||||
| 3 | ||||||
| 4 | z-score of 89 | |||||
| 5 | ||||||
| 6 | ||||||
| 7 | ||||||
| 8 | ||||||
| 9 | ||||||
| 10 | ||||||
| 11 | ||||||
| 12 |
Tip: The average of the eight scores is 70. Subtract it from 89 and divide by the standard deviation of 10 to get 1.9.
Practise this in a lesson
Frequently asked questions
How do I calculate a normal distribution probability in Excel?
Use =NORM.DIST(x,mean,standard_dev,TRUE). For example, =NORM.DIST(85,70,10,TRUE) returns about 0.933, so about 93.3% of values are 85 or lower.
What is the difference between TRUE and FALSE in NORM.DIST?
TRUE returns the cumulative probability, the area under the curve up to x. FALSE returns the height of the curve at x, which is useful for drawing a bell curve but is not a probability on its own.
How do I make a bell curve in Excel?
List x values from the mean minus 3 standard deviations to the mean plus 3, calculate =NORM.DIST(x,mean,sd,FALSE) next to each one, then insert a Scatter with Smooth Lines chart.
What is the difference between NORM.DIST and NORMDIST?
They return the same results. NORMDIST is the older name, kept for compatibility. NORM.DIST arrived in Excel 2010 and is the one Microsoft recommends for new work.
How do I find the probability between two values?
Subtract two cumulative results: =NORM.DIST(80,70,10,TRUE)-NORM.DIST(60,70,10,TRUE) returns about 0.683, the share between 60 and 80.