STDEV.S

Estimate the standard deviation of a population from a sample of it. The usual choice for real data.

Syntax

STDEV.S(number1, [number2], ...)
Argument Required Description
number1 Required A range or value from the sample.
number2 Optional Further ranges or values.

Examples

Every example below was executed against VisiGrid engine 0.54.0 — not transcribed from another vendor's documentation. Reproduce any of them with vgrid calc.

Formula Result Notes
=STDEV.S(A2:A9) 2.14 Divides by n − 1, the sample correction.
=STDEV.P(A2:A9) 2 The same data treated as the whole population is a little smaller.
=STDEV.S(A2:B9) 2.14 Text and blanks inside a range are skipped.
=STDEV.S(5) #DIV/0! One value has no spread to estimate.
=SQRT(VAR.S(A2:A9))=STDEV.S(A2:A9) TRUE

Sample or population?

Use STDEV.S when the numbers are a sample drawn from something larger — a survey, a week of transactions standing in for the year, test results from part of a batch. Use STDEV.P only when the data is every member of the group you are describing.

The sample version divides by n − 1 instead of n. A sample tends to underestimate the spread of the population it came from, and the smaller divisor corrects for that. With eight values the difference is about 7%; with hundreds it disappears.

When unsure, STDEV.S is the safer default — it is what most statistics software means by “standard deviation”.

Old and new names

STDEV is the pre-2010 name for the same calculation and gives identical results. STDEV.S says which kind it is, which is worth having in a sheet someone else will read.

Text and logical values

Inside a range, text, blanks and TRUE/FALSE are ignored. Typed directly as arguments they count: numbers written as text are converted, and TRUE is 1. That matches Excel, and it is why passing ranges is the predictable choice.

Excel compatibility

Matches Excel, including skipping text and logical values in ranges and #DIV/0! for fewer than two values.

Related functions

Last updated