How to Use NORM.DIST in Excel

NORM.DIST is Excel's workhorse function for normal distribution calculations. It answers probability questions about normally distributed data: 'What's the probability a value falls below 85?' or...

Key Insights

  • NORM.DIST calculates either probability density (PDF) or cumulative probability (CDF) for normal distributions, controlled by a TRUE/FALSE parameter that most users get wrong
  • Use cumulative=TRUE for “what percentage falls below this value” questions and cumulative=FALSE only when building probability distribution charts
  • The function requires mean and standard deviation from your dataset—calculate these first with AVERAGE() and STDEV.S() rather than guessing

Understanding NORM.DIST Fundamentals

NORM.DIST is Excel’s workhorse function for normal distribution calculations. It answers probability questions about normally distributed data: “What’s the probability a value falls below 85?” or “How likely is this outcome given my historical data?”

The function serves two distinct purposes depending on how you configure it. Set the cumulative parameter to TRUE, and you get cumulative distribution function (CDF) values—the probability that a random value falls at or below your specified point. Set it to FALSE, and you get probability density function (PDF) values—useful primarily for creating bell curve visualizations.

Most business applications need the CDF. If you’re analyzing sales performance, quality metrics, test scores, or financial returns, you want cumulative probabilities. The PDF is a specialized tool for statistical visualization and theoretical work.

NORM.DIST Syntax Breakdown

The complete syntax is:

=NORM.DIST(x, mean, standard_dev, cumulative)

x: The value you’re evaluating. This is your test point—the sales figure, test score, or measurement you want to analyze.

mean: The arithmetic mean of your distribution. Calculate this from your dataset using =AVERAGE(range). Don’t guess.

standard_dev: The standard deviation of your distribution. Use =STDEV.S(range) for sample data or =STDEV.P(range) for complete populations. Must be positive and non-zero.

cumulative: TRUE for cumulative distribution (probability of being ≤ x), FALSE for probability density. This is a logical value, not text—no quotation marks.

Here’s a basic example:

=NORM.DIST(80, 75, 10, TRUE)

This returns 0.691462, meaning there’s a 69.15% probability that a value from a normal distribution with mean 75 and standard deviation 10 falls at or below 80.

Working with Probability Density (PDF)

The probability density function tells you the relative likelihood of a specific value occurring. The PDF value itself isn’t a probability—it’s a density that can exceed 1.0. You use PDF values to construct bell curves and understand the shape of your distribution.

Let’s analyze test scores with a mean of 75 and standard deviation of 10:

| Score | PDF Formula                      | Result   |
|-------|----------------------------------|----------|
| 55    | =NORM.DIST(55, 75, 10, FALSE)   | 0.01295  |
| 65    | =NORM.DIST(65, 75, 10, FALSE)   | 0.02420  |
| 75    | =NORM.DIST(75, 75, 10, FALSE)   | 0.03989  |
| 85    | =NORM.DIST(85, 75, 10, FALSE)   | 0.02420  |
| 95    | =NORM.DIST(95, 75, 10, FALSE)   | 0.01295  |

Notice the symmetry—values equidistant from the mean have identical density values. The peak density occurs at the mean (75), which is characteristic of normal distributions.

To create a complete bell curve visualization, build a table with scores from mean minus 3 standard deviations to mean plus 3 standard deviations:

| Score | PDF                              |
|-------|----------------------------------|
| 45    | =NORM.DIST(45, $B$1, $B$2, FALSE)|
| 46    | =NORM.DIST(46, $B$1, $B$2, FALSE)|
| ...   | ...                              |
| 105   | =NORM.DIST(105, $B$1, $B$2, FALSE)|

Where B1 contains your mean and B2 contains your standard deviation. Use absolute references so you can copy the formula down. Then insert a line chart using the Score column as your X-axis and PDF column as your Y-axis.

Calculating Cumulative Probability (CDF)

Cumulative probability is what you need for decision-making. It answers “what percentage of values fall below this threshold?”

Consider a sales scenario where monthly revenue averages $150,000 with a standard deviation of $25,000. What’s the probability next month’s revenue falls below $120,000?

=NORM.DIST(120000, 150000, 25000, TRUE)

Result: 0.1151 or 11.51%. There’s roughly an 11.5% chance revenue drops below $120,000.

For values above a threshold, subtract from 1:

=1 - NORM.DIST(180000, 150000, 25000, TRUE)

Result: 0.1151 or 11.51%. There’s an 11.5% chance revenue exceeds $180,000 (the distribution is symmetric).

For probabilities between two values, calculate both CDFs and subtract:

=NORM.DIST(160000, 150000, 25000, TRUE) - NORM.DIST(140000, 150000, 25000, TRUE)

Result: 0.3108 or 31.08% probability revenue falls between $140,000 and $160,000.

You can also use CDF values to determine percentile rankings. If a salesperson generates $175,000 in revenue:

=NORM.DIST(175000, 150000, 25000, TRUE)

Result: 0.8413 or 84.13th percentile—they outperformed 84% of the expected distribution.

Real-World Applications

Quality Control Example: A manufacturing process produces components with a target diameter of 50mm. Historical data shows a mean of 50mm and standard deviation of 0.5mm. Specifications require diameters between 49mm and 51mm. What percentage of parts meet specifications?

=NORM.DIST(51, 50, 0.5, TRUE) - NORM.DIST(49, 50, 0.5, TRUE)

Result: 0.9545 or 95.45%. Approximately 4.55% of parts fall outside specifications.

Financial Modeling Example: Your investment portfolio has an average annual return of 8% with a standard deviation of 12%. What’s the probability of a negative return in any given year?

=NORM.DIST(0, 8, 12, TRUE)

Result: 0.2525 or 25.25%. There’s about a 1-in-4 chance of losing money in a given year.

Performance Analysis with Visualization: Create a comparison chart showing where individual employees rank against team performance. With team mean of 100 units sold and standard deviation of 15:

| Employee | Sales | Percentile Formula                    | Percentile |
|----------|-------|---------------------------------------|------------|
| Alice    | 125   | =NORM.DIST(125, 100, 15, TRUE)       | 95.25%     |
| Bob      | 95    | =NORM.DIST(95, 100, 15, TRUE)        | 36.94%     |
| Carol    | 110   | =NORM.DIST(110, 100, 15, TRUE)       | 74.75%     |

This immediately shows Alice is a top performer while Bob needs support.

Common Errors and Troubleshooting

#NUM! Error: Occurs when standard_dev is zero or negative. Standard deviation must be positive:

=NORM.DIST(80, 75, 0, TRUE)    // Error: standard_dev cannot be zero
=NORM.DIST(80, 75, -5, TRUE)   // Error: standard_dev cannot be negative
=NORM.DIST(80, 75, 10, TRUE)   // Correct: returns 0.691462

#VALUE! Error: Results from non-numeric inputs or text in numeric parameters:

=NORM.DIST("80", 75, 10, TRUE)     // May work due to coercion, but risky
=NORM.DIST(80, 75, 10, "TRUE")     // Error: cumulative needs logical value
=NORM.DIST(80, 75, 10, 1)          // Correct: 1 coerces to TRUE

Wrong Cumulative Parameter: Using FALSE when you need TRUE is the most common conceptual error:

// WRONG: Trying to find probability below 80
=NORM.DIST(80, 75, 10, FALSE)      // Returns 0.0352 (density, not probability)

// CORRECT: Probability of being ≤ 80
=NORM.DIST(80, 75, 10, TRUE)       // Returns 0.6915 (69.15% probability)

Incorrect Standard Deviation Calculation: Using STDEV.P on sample data or STDEV.S on population data skews results. For most business scenarios with historical data samples, use STDEV.S.

NORM.INV: The inverse of NORM.DIST. Given a probability, returns the corresponding x value. Use this to find thresholds: “What sales figure represents the 90th percentile?”

=NORM.INV(0.90, 150000, 25000)  // Returns $182,067

NORM.S.DIST: Standard normal distribution (mean=0, standard deviation=1). Use when working with z-scores or standardized data.

NORM.DIST vs. T.DIST: Use T.DIST instead of NORM.DIST when working with small sample sizes (typically n < 30) where the t-distribution provides more accurate probabilities.

Legacy Functions: NORMDIST (pre-Excel 2010) works identically to NORM.DIST but lacks the improved accuracy of the newer function. Use NORM.DIST in all new work.

The key to mastering NORM.DIST is understanding when to use cumulative=TRUE (almost always) versus cumulative=FALSE (rarely, mainly for visualizations). Calculate your mean and standard deviation from actual data, not assumptions. Test your formulas with known values—at the mean, NORM.DIST with cumulative=TRUE should return exactly 0.5. This simple check catches most parameter errors before they affect your analysis.

Liked this? There's more.

Every week: one practical technique, explained simply, with code you can use immediately.