Contact

DSTDEV Function (LibreOffice Calc)

Database Advanced LibreOffice Calc LibreOffice 3.0

The DSTDEV function calculates the sample standard deviation of numeric values in a database column that match a set of criteria. It is part of the database function family and supports structured, criteria-based filtering.

Verification status: Consult the documentation and examples below. Native application testing has not been documented for this guide. How formula examples are checked

The **DSTDEV** function calculates the **sample standard deviation** of numeric values in a database column that match a set of criteria. It is part of Calc’s database function family, which uses structured criteria ranges to filter data before performing calculations. DSTDEV is ideal for conditional statistical analysis when your data represents a sample rather than a full population.

What the DSTDEV Function Does

  • Calculates sample standard deviation of numeric values
  • Applies criteria-based filtering using a criteria range
  • Supports multiple criteria columns
  • Supports AND/OR logic via criteria layout
  • Works with structured database ranges

It is designed to be precise, statistical, and ideal for sample-based standard deviation analysis.

Syntax

DSTDEV(database; field; criteria)

Arguments

  • database:
    A range where the first row contains column labels.

  • field:
    The column to evaluate.

    • Use column label in quotes (recommended)
    • Or use column index (1 = first column)
  • criteria:
    A range containing column labels and one or more criteria rows.

Basic Examples

Assume a table in A1:C6:

A (Name) B (Age) C (Score)
John 25 80
Mary 30 90
Alex 22 70
John 28 85
Mary 35 88

Criteria in E1:F2:

Age Score
>25 >80

Sample standard deviation of Score matching criteria

=DSTDEV(A1:C6; "Score"; E1:F2)

Values: 90, 85, 88
Sample variance = 6.333…
Sample standard deviation = 2.5166…

Sample standard deviation of Age matching criteria

=DSTDEV(A1:C6; "Age"; E1:F2)

Values: 30, 28, 35
Sample variance = 13
Sample standard deviation = 3.6055…

Using field index

=DSTDEV(A1:C6; 3; E1:F2)

Evaluates Score.

Advanced Examples

STDEV of Score where Name = “John”

Criteria:

Name
John

Formula:

=DSTDEV(A1:C6; "Score"; E1:E2)

STDEV of Age between 25 and 30

Criteria:

Age
>=25
<=30

Formula:

=DSTDEV(A1:C6; "Age"; E1:E3)

OR logic (multiple rows)

Criteria:

Age Score
>30
>85

Formula:

=DSTDEV(A1:C6; "Score"; E1:F3)

STDEV where Name begins with “M”

Criteria:

Name
M*

Formula:

=DSTDEV(A1:C6; "Score"; E1:E2)

STDEV with dynamic criteria

=DSTDEV(A1:C6; "Score"; H1:I2)

STDEV of positive Scores

Criteria:

Score
>0

Formula:

=DSTDEV(A1:C6; "Score"; E1:E2)

STDEV of non-blank Scores

Criteria:

Score
<>""

Formula:

=DSTDEV(A1:C6; "Score"; E1:E2)

Edge Cases and Behavior Details

DSTDEV evaluates only numeric values

Text, blanks, and errors are ignored.

Sample standard deviation requires at least 2 numeric values

  • 0 or 1 values → #DIV/0!

field can be:

  • Column label
  • Column index
  • Cell containing label

criteria must include column labels

Exact match required.

criteria supports:

  • Comparison operators
  • Wildcards
  • Multiple rows (OR)
  • Multiple columns (AND)

Empty criteria → STDEV of all numeric values

DSTDEV of an error in database → error ignored

DSTDEV of an error in criteria → error returned

Criteria rows:

  • Each row = OR
  • Each column = AND

Common Errors and Fixes

#DIV/0! — Not enough numeric values

Fix:

  • Broaden criteria
  • Ensure numeric values exist

DSTDEV returns 0 unexpectedly

Cause:

  • Only one matching value
  • Criteria labels don’t match database labels

Err:502 — Invalid argument

Occurs when:

  • field is invalid
  • database range malformed

Criteria not applied

Cause:

  • Criteria labels not identical to database labels

Best Practices

  • Use DSTDEV for sample standard deviation
  • Use DSTDVP for population standard deviation
  • Use column labels instead of index numbers
  • Keep criteria ranges small and clearly labeled
  • Use multiple criteria rows for OR logic
  • Use multiple criteria columns for AND logic
  • Use DVAR/DVARP for variance
  • Use FILTER (modern Calc) for dynamic extraction
DSTDEV is your sample‑standard‑deviation engine — perfect for criteria-based statistical analysis when your dataset represents a sample.
  • Use DSTDVP for population standard deviation
  • Use DVAR and DVARP for variance
  • Use DAVERAGE for conditional averages
  • Use DSUM for summation
  • Use DCOUNT or DCOUNTA for counting
  • Use STDEV.S, STDEV.P for non-database STDEV
  • Use FILTER for dynamic row extraction

By mastering DSTDEV and its companion database functions, you can build powerful, structured, and criteria-driven statistical workflows in LibreOffice Calc.