Contact

DSTDEVP Function in Google Sheets: Formula, Examples & Troubleshooting

Database Intermediate Google Sheets

Measure population standard deviation with DSTDEVP in Google Sheets. Build criteria for a complete fleet, check the denominator, and distinguish zero spread.

Verification status: See the evidence and test scope described in this guide. How formula examples are checked

Quick answer: DSTDEVP measures the population standard deviation of a numeric field among records selected by a criteria table. For the four Route X vehicles below, the expected capacity spread is approximately 11.18034 seats.

Verification: NOT_TESTED_IN_GOOGLE_SHEETS. Google documentation was reviewed October 17, 2026. The outputs are independently calculated from the displayed synthetic data and have not been observed in a running Sheets workbook.

Syntax and purpose

=DSTDEVP(database, field, criteria)

The required database includes column headings and records. field is a heading or one-based column index. The required criteria is a heading-and-tests range. Google describes this as the population standard deviation; DSTDEV is the sample counterpart. Google DSTDEVP reference.

A complete population can be a deliberately defined group: all vehicles currently assigned to one route, for example. Filtering to a route does not by itself turn a complete fleet inventory into a statistical sample. However, a few sampled trips used to estimate an ongoing process would call for a different interpretation.

Example: capacity variation across a complete fleet

Enter A1:D7:

Row A · Vehicle B · Route C · Status D · Seats
1 Vehicle Route Status Seats
2 V-01 X Available 40
3 V-02 X Available 50
4 V-03 X Available 60
5 V-04 X Maintenance 70
6 V-05 Y Available 30
7 V-06 Y Available 30
  1. Put Route in F1 and X in F2.
  2. In H2 enter =DSTDEVP(A1:D7,"Seats",F1:F2).
  3. Expect approximately 11.180339887498949.
  4. =DSTDEVP(A1:D7,4,F1:F2) is the field-index version of the same request.

The selected capacities are 40, 50, 60, and 70. Their mean is 55. Squared deviations from 55 are 225, 25, 25, and 225, totaling 500. Population variance is 500/4 = 125; its square root is 11.180339887498949. This independent derivation explains both the value and its unit, seats.

Dividing by three instead would give a sample standard deviation of approximately 12.909944487358056. That is a different statistic, not a more accurate display of DSTDEVP.

Advanced application: measure only available vehicles

Set F5 to Route, G5 to Status, F6 to X, and G6 to Available. Enter this outside the criteria area:

=DSTDEVP(A1:D7,"Seats",F5:G6)

Expected result: approximately 8.16496580927726, from capacities 40, 50, and 60. Their mean is 50, squared deviations total 200, and the population denominator is 3.

The result describes the available Route X fleet, while the first result describes every assigned Route X vehicle. Keep those labels separate. Excluding maintenance vehicles can be appropriate for today’s dispatch plan but misleading in a report about the entire assigned fleet.

Google’s database criteria rules make restrictions on one criteria row simultaneous; alternative rows express OR. Empty tests impose no restriction. That is why F5:G6 selects X and Available, rather than either group.

Zero spread does not mean missing data

Change F2 to Y and rerun the original H2 formula. Expected result: 0. Both recorded capacities are 30, so both deviations from their mean are zero. The result is a legitimate description of equal values.

Do not replace a missing capacity with zero to make the calculation run. Changing one of the two Y capacities to 0 would make their mean 15 and population standard deviation 15, describing a different fleet. Missingness and zero are different facts.

For a numeric selection, use two Seats headers in F9:G9 with >=50 and <=70 beneath them. =DSTDEVP(A1:D7,"Seats",F9:G10) selects 50, 60, 70 and again has expected result 8.16496580927726. Two headers for the same field apply both bounds simultaneously.

Errors and audit checks

The database starts at A1, not A2, because row 1 identifies the fields. The criteria range must likewise include its headings. A misspelled or omitted heading changes the query; inspect that before suspecting the arithmetic.

Use a tightly bounded criteria range. An extra unrestricted criteria row can include unwanted records. Check selected values directly, for example with the published FILTER guide, before interpreting a surprising deviation. No empty-selection error token or exhaustive text/blank coercion behavior is asserted here: the function-specific source does not establish that full matrix.

Record whether the data constitute the whole population being described. A complete list of today’s vehicles does not establish the spread of all vehicles that might be added next year. Population standard deviation summarizes the supplied values; it does not certify their completeness or forecast future values.

DSTDEVP is documented in the rolling Google Sheets service. First introduction and last functioning release are not established by these references; no retirement is established. This is a documentation review, not a release-specific native test. When migrating, independently check criteria and mixed-type data instead of importing another program’s coercion assumptions.

For an unfiltered population, see STDEV.P. For the squared-unit statistic, see VAR.P.

First-party references