When a visitor asked me how to generate a random number from a Normal distribution she set me to thinking about doing statistics with Excel.
Many of us were introduced to statistics in school and then forgot what little we learned…often within seconds of the final exam.
Also, when we took statistics, many of us weren’t taught how to use it with Excel. This is unfortunate, because in business it’s often useful to have some grasp of that topic.
For all these reasons, I thought it would be worthwhile to briefly explore normal—or “bell-shaped”—curves in Excel. This is a commonly used area of statistics, and one for which Excel provides several useful functions.
One interesting thing about the normal curve is that it occurs frequently in many different settings:
- The height of each gender in a population is normally distributed.
- The measure of LDL cholesterol is normally distributed in adults.
- The width of stripes on a zebra is said to be normally distributed.
- Most measurement errors are assumed to be normally distributed.
- Many Six-Sigma calculations assume normal distribution.
As a final example, here’s a surprising occurrence of the normal curve: Take any population, whether it’s normally distributed or not. Randomly select at least 30 members from that population, measure them for some characteristic, and then find the average of those measures. That average is one data point. Now select another random sample of the same number, and find the average of their measures. Do the same again and again. The Central Limit Theorem says that those averages tend to have a normal distribution.
Normal distributions are all around us. Therefore, as painlessly as possible, let’s take a closer look at how we work with them using Excel.
We need to get some brief definitions out of the way so that we can start to describe data using Excel functions.
From cholesterol to zebra stripes, the normal probability distribution describes the proportion of a population having a specific range of values for an attribute. Most members have amounts that are near the average; some have amounts that are farther away from the average; and some have amounts extremely distant from the average.
For example, a population could be all the stripes on all the zebras in the world. The normal curve would show the proportion of stripes that have various widths.
The standard deviation of a sample is a measure of the spread of the sample from its mean. (We’re taking about many items in a “sample,” of course, not just a single item.) In a normal distribution, about 68% of a sample is within one standard deviation of the mean. About 95% is within two standard deviations. And about 99.7% is within three standard deviations. The numbers in the figure above mark standard deviations from the mean.
The z value is the distance between a value and the mean in terms of standard deviations. In the figure above, each number is a z value.
Calculating or Estimating the Standard Deviation
Several of the following functions require a value for the standard deviation. There are at least two ways to find that value.
First, if you have a sample of the data, Excel originally offered the STDEV function. But in Excel 2010, this was replaced with the STDEV.S function:
On the other hand, if you’re working with the entire population, you calculate the standard deviation with the STDEV.P function:
However, if you’re working with rough estimates, you must take a different approach, because you don’t have actual data to support your estimates.
In this case, first calculate the range. This is the smallest likely value subtracted from the largest likely value. By likely, let’s use the assumption that all possible values will be within that range about 95% of the time.
Remember that about 95% of a sample is within two standard deviations on each side of the mean. (This is a total of four standard deviations, of course.) Therefore, if we divide the range by four we should have the approximate standard deviation.
Merely dividing the range by four might seem to be a slipshod approach. But consider the way this calculation often is used.
Suppose you’re forecasting sales for next year. You think sales will be about 1,000, but the number could be as high as 1,200 and as low as 800. With that information, you can put a normal curve around your estimated sales and begin to generate a variety of forecasts for profits and cash flow.
To emphasize, these numbers are only your best estimates. Therefore, using an estimated standard deviation doesn’t seem quite as sloppy as it otherwise might.
Based on these estimates, your mean sales will be about 1,000 and your standard deviation will be about (1200 – 800) / 4 = 100. With this information, you can use the following function to perform many of the calculations you will need in your analysis.
NORM.DIST(x, mean, standard_dev ,cumulative)
The NORM.DIST function gives the probability that a number falls at or below a given value of a normal distribution.
- x — The value you want to test.
- mean — The average value of the distribution.
- standard_dev — The standard deviation of the distribution.
- cumulative — If FALSE or zero, returns the probability that x will occur; if TRUE or non-zero, returns the probability that the value will be less than or equal to x.
Example: The distribution of heights of American women aged 18 to 24 is approximately normally distributed with a mean of 65.5 inches (166.37 cm) and a standard deviation of 2.5 inches (6.35 cm). What percentage of these women is taller than 5′ 8″, that is, 68 inches (172.72 cm)?
The percentage of women less than or equal to 68 inches is:
=NORM.DIST(68, 65.5, 2.5, TRUE) = 84.13%
Therefore, the percentage of women taller than 68 inches is 1 – 84.13%, or approximately 15.87%. This value is represented by the shaded area in the chart above.
The NORM.S.DIST function translates the number of standard deviations (z) into cumulative probabilities.
- z — The value for which you want the distribution.
- cumulative — Cumulative is a logical value that determines the form of the function. If cumulative is TRUE, NORM.S.DIST returns the cumulative distribution function; if FALSE, it returns the probability mass function.
(The probability mass function, PMF, gives the probability that a discrete — that is, non-continuous — random variable is exactly equal to some value.)
=NORM.S.DIST(1, TRUE) = 84.13%
=NORM.S.DIST(-1, TRUE) = 15.87%
Therefore, the probability of a value being within one standard deviation of the mean is the difference between these values, or 68.27%. This range is represented by the shaded area of the chart.
(You can download the files for this article here.)
NORM.INV(probability, mean, standard_dev)
The NORM.INV function is the inverse of the NORM.DIST function. It calculates the x variable given a probability.
To illustrate, consider the heights of the American women used in the illustration of the NORM.DIST function above. How tall would a woman need to be if she wanted to be among the tallest 75% of American women?
Using NORM.INV, she would learn that she needs to be at least 63.81 inches tall, as shown by this formula:
=NORM.INV(0.25, 65.5, 2.5) = 63.81 inches
The figure shows the area represented by the 25% of the American women who are shorter than this height.
The NORM.S.INV function is the inverse of the NORM.S.DIST function. Given the probability that a variable is within a certain distance of the mean, it finds the z value.
To illustrate, suppose you care about the half of the sample that’s closest to the mean. That is, you want the z values that mark the boundary that is 25% less than the mean and 25% more than the mean.
The following two formulas provide those boundaries of -.674 and +.674, as illustrated by the figure.
STANDARDIZE(x, mean, standard_dev)
The STANDARDIZE function returns the z value for a specified value, mean, and standard deviation.
To illustrate, in the NORM.INV example above, we found that a woman would need to be at least 63.81 inches tall to avoid the bottom 25% of the population, by height. The STANDARDIZE function tells us that the z value for 63.81 inches is:
=STANDARDIZE(63.81, 65.5, 2.5) = -0.6745
We can check this number by using the NORM.S.DIST function:
=NORM.S.DIST(-0.6745, TRUE) = 25%
That is, a z value of -.6745 has a probability of 25%.
How to Calculate a Random Number from a Normal Distribution
Remember that the NORM.INV function returns a value given a probability. In Excel 2007 and above, the syntax is…
NORM.INV(probability, mean, standard_dev)
Also, remember that the RAND function returns a random number between 0 and 1. That is, RAND generates random probabilities. Therefore, you can use the NORM.INV function to calculate a random number from a normal distribution, using this formula in Excel 2007 and above…
=NORM.INV(RAND(), mean, standard_dev)
Related ExcelUser Articles
I created all of the figures for this article in Excel. If you would like to know how, see How to Create Normal Curves with Shaded Areas in Excel.
Some analyses require random numbers from a normal distribution, which you can learn about here: How to Return Random Numbers from a Normal Distribution for Your Excel Forecasts
Conrad Carlberg—a former Excel MVP—writes many books about using statistics with Excel. His titles within easy reach of my computer include Predictive Analytics, Statistical Analysis, More Predictive Analytics, Regression Analysis, and Decision Analysis…all for Excel.