NORM.S.DIST function

Returns the value of the standard normal distribution's probability density or cumulative probability at a given z-score.

=NORM.S.DIST(z, cumulative)

Generate a NORM.S.DIST formula

Describe what you need. The generator will reach for NORM.S.DIST where NORM.S.DIST is the right tool, and tell you when it is not.

How to get a better answer
  • Name your columns by letter and by header: "column F (Net Value)" beats "the amount column".
  • State every condition, including the negatives — "not cancelled" changes the formula's shape.
  • Say where the data starts if it is not row 1, and whether it will grow.
  • Check the settings above match your spreadsheet: the wrong argument separator is a syntax error on your machine.

Arguments

How NORM.S.DIST reads its arguments
zrequiredcumulativerequiredNORM.S.DIST
ArgumentRequiredDescription
zRequiredA numeric value representing the z-score (standard deviation units from the mean). Accepts any real number including negative values; edge cases like ±10 are handled gracefully.
cumulativeRequiredA logical value: TRUE returns the cumulative distribution function (probability that a value is ≤ z); FALSE returns the probability density function (height of the curve at z). Must be boolean, not text.

Returns

A decimal number between 0 and 1 representing either the cumulative probability (cumulative=TRUE) or probability density (cumulative=FALSE).

Availability

Excel: All · Google Sheets: Supported

Worked examples

1. Find the percentile rank of a student's test score

StudentSubjectAssignmentScoreMax Score
AliceMathQuiz 185100
BobMathQuiz 172100
CharlieMathQuiz 180100
DianaMathQuiz 192100
=NORM.S.DIST((85-80)/5, TRUE)

Result: 0.8413

Alice scored 85 on a test where the class mean is 80 and standard deviation is 5. Convert to z-score: (85−80)÷5 = 1. NORM.S.DIST(1, TRUE) returns 0.8413, meaning Alice performed better than 84.13% of the class. The cumulative probability tells you the percentile rank.

2. Calculate probability density at the mean

StudentSubjectAssignmentScoreMax Score
AliceMathQuiz 185100
BobMathQuiz 172100
CharlieMathQuiz 180100
DianaMathQuiz 192100
=NORM.S.DIST(0, FALSE)

Result: 0.3989

When cumulative=FALSE, NORM.S.DIST returns the height of the standard normal curve at that z-score. At z=0 (exactly at the mean), the curve reaches its maximum height of 0.3989. This density value shows concentration—the mean is where most scores cluster in a normal distribution.

3. Determine the probability a student scores below a threshold

StudentSubjectAssignmentScoreMax Score
AliceMathQuiz 185100
BobMathQuiz 172100
CharlieMathQuiz 180100
DianaMathQuiz 192100
=NORM.S.DIST((92-80)/5, TRUE)

Result: 0.9918

Diana scored 92, which is z = (92−80)÷5 = 2.4 standard deviations above the mean. NORM.S.DIST(2.4, TRUE) returns 0.9918, meaning Diana outperformed 99.18% of students. This cumulative probability shows how rare her score is under a normal distribution model.

Common errors

Which NORM.S.DIST error are you seeing?
NORM.S.DIST returned an error#VALUE!
Pass numeric values only. If using a cell reference, make sure it contains a number. Convert text numbers with VALUE(): =NORM.S.DIST(VALUE("1.5"), TRUE).
#VALUE!
Supply a logical constant: use TRUE (or 1) for cumulative distribution, FALSE (or 0) for density. For example, change =NORM.S.DIST(1.5, "yes") to =NORM.S.DIST(1.5, TRUE).
#NUM!
Check that the z calculation itself is valid—verify the mean and standard deviation values are correct numbers and that division by zero cannot occur. Wrap in IFERROR to suppress: =IFERROR(NORM.S.DIST(z, TRUE), "").
ErrorWhy it happensHow to fix it
#VALUE!The z argument contains text that cannot be converted to a number, such as =NORM.S.DIST("high", TRUE) or referencing a column header like =NORM.S.DIST(B1, TRUE) when B1 contains 'Score'.Pass numeric values only. If using a cell reference, make sure it contains a number. Convert text numbers with VALUE(): =NORM.S.DIST(VALUE("1.5"), TRUE).
#VALUE!The cumulative argument is text or a number that is not 0, 1, TRUE, or FALSE, such as =NORM.S.DIST(1, "true") or =NORM.S.DIST(1, 2).Supply a logical constant: use TRUE (or 1) for cumulative distribution, FALSE (or 0) for density. For example, change =NORM.S.DIST(1.5, "yes") to =NORM.S.DIST(1.5, TRUE).
#NUM!The z argument evaluates to NaN (not-a-number) or Infinity from an invalid computation, such as =NORM.S.DIST(0/0, TRUE) or from an error in a dependent calculation.Check that the z calculation itself is valid—verify the mean and standard deviation values are correct numbers and that division by zero cannot occur. Wrap in IFERROR to suppress: =IFERROR(NORM.S.DIST(z, TRUE), "").

Tips and when to use something else

  • Always standardize your data first: z = (value − mean) ÷ standard deviation. NORM.S.DIST requires z-scores, not raw scores. Use AVERAGE to find the mean and reference it in the calculation.
  • cumulative=TRUE answers 'What percentage scored at or below?'; cumulative=FALSE is used for distribution visualization and density calculations. Choose based on your question.
  • For large datasets, use NORM.DIST() instead if your data has a non-standard mean and standard deviation—it accepts mean and std-dev parameters directly, avoiding manual z-score conversion.
  • NORM.S.INV is the inverse: it returns the z-score given a probability. Use NORM.S.INV(0.95, TRUE) to find the z-value where 95% of scores fall below.

Frequently asked questions

What is the difference between cumulative TRUE and FALSE?
cumulative=TRUE returns the cumulative distribution function (CDF): the probability that a random value is less than or equal to your z-score—useful for percentile rankings. cumulative=FALSE returns the probability density function (PDF): the height of the bell curve at that point—useful for visualizing distribution shape. Always use TRUE for percentile questions.
Why must I convert my data to z-scores before using NORM.S.DIST?
NORM.S.DIST only works with the standard normal distribution, which has mean=0 and standard deviation=1. Any other data must be standardized using z = (value − mean) ÷ standard_deviation. This transforms your data into a universal scale so NORM.S.DIST can apply its pre-calculated probabilities.
What does a z-score of 2 mean, and what does NORM.S.DIST(2, TRUE) tell me?
A z-score of 2 means the value is 2 standard deviations above the mean. NORM.S.DIST(2, TRUE) returns approximately 0.9772, meaning about 97.72% of scores fall at or below this point. In other words, a score at z=2 is in the 97.72th percentile—exceptionally high.
Can NORM.S.DIST handle very large or very small z-scores?
Yes. NORM.S.DIST works for any real z-score, including extreme values like z=10 or z=−10. As z increases, cumulative probability approaches 1.0 (certainty below that score); as z decreases, it approaches 0. Very extreme values (e.g., z=±100) return probabilities so close to 0 or 1 that they are effectively 0 or 1 in practice.

Need a different formula?

The full generator is not scoped to one function — describe any spreadsheet problem and it will pick.

Open the formula generator

Reviewed 2026-09-17