STDEV.P function

PRO BASIC

The STDEV.P function in Jspreadsheet Formulas Pro calculates the standard deviation of an entire population, a measure of how far the values spread around their mean. Use it when the data covers every member of the group being studied. When the data is only a sample, use STDEV.S instead. It returns the same values as the compatibility function STDEVP.

Documentation

Calculates the standard deviation of an entire population.

Category

Statistical

Syntax

STDEV.P(number1, [number2], ...)

Parameter Description
number1 The first number, cell or range of the population.
[number2], ... Optional. Additional numbers, cells or ranges.

Behavior

The STDEV.P function returns the square root of VAR.P, dividing the sum of squared deviations by the number of values.

  • Text and logical values inside ranges are ignored.
  • Text passed directly as an argument returns #VALUE!, while a logical value passed directly is counted as 1 or 0.
  • A single value returns 0.
  • For the same data STDEV.P is smaller than STDEV.S, because it divides by n instead of n - 1.

Common Errors

Error Description
#VALUE! Returned when an argument is text that cannot be interpreted as a number.

Best practices

  • Keep the range free of numbers stored as text, because they are ignored silently.
  • Do not include headers or totals in the range.
  • Guard with IF(COUNT(range) > 1, STDEV.P(range), "") when the range may hold a single number, since a single value returns 0.
  • Use absolute references for the range when the formula is copied to other cells.

Usage

A few examples using the STDEV.P function.

STDEV.P(2, 4, 6, 8, 10)
// Returns 2.828427

STDEV.S(2, 4, 6, 8, 10)
// Returns 3.162278, the sample version for comparison

STDEV.P(A2:A6, B2:B6)
// Returns the standard deviation of both ranges together

STDEV.P(5)
// Returns 0

Interactive Spreadsheet Demo

<html>
<script src="https://jsuites.net/v6/jsuites.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jspreadsheet@13/dist/index.min.js"></script>
<link rel="stylesheet" href="https://jsuites.net/v6/jsuites.css" type="text/css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/jspreadsheet@13/dist/jspreadsheet.min.css" type="text/css" />

<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons" />
<script src="https://cdn.jsdelivr.net/npm/@jspreadsheet/formula-pro/dist/index.min.js"></script>

<div id="spreadsheet"></div>

<script>
// You can use the following license for quick testing on localhost, StackBlitz, or CodeSandbox.
// The license is valid for one day, after which the spreadsheet will become read-only.
// For a longer trial period, you can create a free account and generate a demo license with an extended expiration date.
jspreadsheet.setLicense('NWE4NTQyZWMxNGRkY2IyZWE2NTkzMmJhMmZjYTQzZDI0NzBhNWQ3ZTVmYTc2MTIxOWIwM2MzN2NlOTg2NzY2ZTE4YTQ0OWViMGMwZjllMGU4YTgzN2FlNmRlOGNhNDViZTk5NTJjMTRhNjJlMjkyNjIwYmUzNWY2MTg3NjdiNzcsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpreE1ESTRNalkxTENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW5ZeE15SXNJbU5vWVhKMGN5SXNJbVp2Y20xeklpd2labTl5YlhWc1lTSXNJbkJoY25ObGNpSXNJbkpsYm1SbGNpSXNJbU52YlcxbGJuUnpJaXdpYVcxd2IzSjBaWElpTENKaVlYSWlMQ0oyWVd4cFpHRjBhVzl1Y3lJc0luTmxZWEpqYUNJc0luQnlhVzUwSWl3aWMyaGxaWFJ6SWl3aVkyeHBaVzUwSWl3aWMyVnlkbVZ5SWl3aWMyaGhjR1Z6SWl3aVptOXliV0YwSWl3aWNHbDJiM1FpWFN3aVpHVnRieUk2ZEhKMVpYMD0=');

// Set the extensions
jspreadsheet.setExtensions({ formula });

// Create a new spreadsheet
jspreadsheet(document.getElementById('spreadsheet'), {
  worksheets: [{
    data: [
    [
        "Sample A",
        "Sample B",
        "",
        "Formula",
        "Result"
    ],
    [
        2,
        1,
        "",
        "STDEV.P A",
        "=STDEV.P(A2:A6)"
    ],
    [
        4,
        3,
        "",
        "STDEV.P B",
        "=STDEV.P(B2:B6)"
    ],
    [
        6,
        5,
        "",
        "STDEV.S A",
        "=STDEV.S(A2:A6)"
    ],
    [
        8,
        7,
        "",
        "STDEV.P both",
        "=STDEV.P(A2:A6, B2:B6)"
    ],
    [
        10,
        11
    ]
]
  }]
});
</script>
</html>
import React, { useRef } from "react";
import { Spreadsheet, Worksheet, jspreadsheet } from "@jspreadsheet/react";
import formula from "@jspreadsheet/formula-pro";
import "jsuites/dist/jsuites.css";
import "jspreadsheet/dist/jspreadsheet.css";

// Set license
jspreadsheet.setLicense('NWE4NTQyZWMxNGRkY2IyZWE2NTkzMmJhMmZjYTQzZDI0NzBhNWQ3ZTVmYTc2MTIxOWIwM2MzN2NlOTg2NzY2ZTE4YTQ0OWViMGMwZjllMGU4YTgzN2FlNmRlOGNhNDViZTk5NTJjMTRhNjJlMjkyNjIwYmUzNWY2MTg3NjdiNzcsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpreE1ESTRNalkxTENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW5ZeE15SXNJbU5vWVhKMGN5SXNJbVp2Y20xeklpd2labTl5YlhWc1lTSXNJbkJoY25ObGNpSXNJbkpsYm1SbGNpSXNJbU52YlcxbGJuUnpJaXdpYVcxd2IzSjBaWElpTENKaVlYSWlMQ0oyWVd4cFpHRjBhVzl1Y3lJc0luTmxZWEpqYUNJc0luQnlhVzUwSWl3aWMyaGxaWFJ6SWl3aVkyeHBaVzUwSWl3aWMyVnlkbVZ5SWl3aWMyaGhjR1Z6SWl3aVptOXliV0YwSWl3aWNHbDJiM1FpWFN3aVpHVnRieUk2ZEhKMVpYMD0=');

// Set the extensions
jspreadsheet.setExtensions({ formula });

export default function App() {
    // Spreadsheet array of worksheets
    const spreadsheet = useRef();

    // Worksheet data
    const data = [
    [
        "Sample A",
        "Sample B",
        "",
        "Formula",
        "Result"
    ],
    [
        2,
        1,
        "",
        "STDEV.P A",
        "=STDEV.P(A2:A6)"
    ],
    [
        4,
        3,
        "",
        "STDEV.P B",
        "=STDEV.P(B2:B6)"
    ],
    [
        6,
        5,
        "",
        "STDEV.S A",
        "=STDEV.S(A2:A6)"
    ],
    [
        8,
        7,
        "",
        "STDEV.P both",
        "=STDEV.P(A2:A6, B2:B6)"
    ],
    [
        10,
        11
    ]
];

    // Render component
    return (
        <Spreadsheet ref={spreadsheet}>
            <Worksheet data={data} />
        </Spreadsheet>
    );
}
<template>
    <Spreadsheet ref="spreadsheet">
        <Worksheet :data="data" />
    </Spreadsheet>
</template>

<script>
import { Spreadsheet, Worksheet, jspreadsheet } from "@jspreadsheet/vue";
import "jsuites/dist/jsuites.css";
import "jspreadsheet/dist/jspreadsheet.css";
import formula from "@jspreadsheet/formula-pro";

// Set license
jspreadsheet.setLicense('NWE4NTQyZWMxNGRkY2IyZWE2NTkzMmJhMmZjYTQzZDI0NzBhNWQ3ZTVmYTc2MTIxOWIwM2MzN2NlOTg2NzY2ZTE4YTQ0OWViMGMwZjllMGU4YTgzN2FlNmRlOGNhNDViZTk5NTJjMTRhNjJlMjkyNjIwYmUzNWY2MTg3NjdiNzcsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpreE1ESTRNalkxTENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW5ZeE15SXNJbU5vWVhKMGN5SXNJbVp2Y20xeklpd2labTl5YlhWc1lTSXNJbkJoY25ObGNpSXNJbkpsYm1SbGNpSXNJbU52YlcxbGJuUnpJaXdpYVcxd2IzSjBaWElpTENKaVlYSWlMQ0oyWVd4cFpHRjBhVzl1Y3lJc0luTmxZWEpqYUNJc0luQnlhVzUwSWl3aWMyaGxaWFJ6SWl3aVkyeHBaVzUwSWl3aWMyVnlkbVZ5SWl3aWMyaGhjR1Z6SWl3aVptOXliV0YwSWl3aWNHbDJiM1FpWFN3aVpHVnRieUk2ZEhKMVpYMD0=');

// Set the extensions
jspreadsheet.setExtensions({ formula });

export default {
    components: {
        Spreadsheet,
        Worksheet,
    },
    data() {
        // Worksheet data
        const data = [
    [
        "Sample A",
        "Sample B",
        "",
        "Formula",
        "Result"
    ],
    [
        2,
        1,
        "",
        "STDEV.P A",
        "=STDEV.P(A2:A6)"
    ],
    [
        4,
        3,
        "",
        "STDEV.P B",
        "=STDEV.P(B2:B6)"
    ],
    [
        6,
        5,
        "",
        "STDEV.S A",
        "=STDEV.S(A2:A6)"
    ],
    [
        8,
        7,
        "",
        "STDEV.P both",
        "=STDEV.P(A2:A6, B2:B6)"
    ],
    [
        10,
        11
    ]
]

        return {
            data
        };
    }
}
</script>
import { Component, ViewChild, ElementRef } from "@angular/core";
import jspreadsheet from "jspreadsheet";
import formula from "@jspreadsheet/formula-pro";

// You can use the following license for quick testing on localhost, StackBlitz, or CodeSandbox.
// The license is valid for one day, after which the spreadsheet will become read-only.
// For a longer trial period, you can create a free account and generate a demo license with an extended expiration date.
jspreadsheet.setLicense('NWE4NTQyZWMxNGRkY2IyZWE2NTkzMmJhMmZjYTQzZDI0NzBhNWQ3ZTVmYTc2MTIxOWIwM2MzN2NlOTg2NzY2ZTE4YTQ0OWViMGMwZjllMGU4YTgzN2FlNmRlOGNhNDViZTk5NTJjMTRhNjJlMjkyNjIwYmUzNWY2MTg3NjdiNzcsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpreE1ESTRNalkxTENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW5ZeE15SXNJbU5vWVhKMGN5SXNJbVp2Y20xeklpd2labTl5YlhWc1lTSXNJbkJoY25ObGNpSXNJbkpsYm1SbGNpSXNJbU52YlcxbGJuUnpJaXdpYVcxd2IzSjBaWElpTENKaVlYSWlMQ0oyWVd4cFpHRjBhVzl1Y3lJc0luTmxZWEpqYUNJc0luQnlhVzUwSWl3aWMyaGxaWFJ6SWl3aVkyeHBaVzUwSWl3aWMyVnlkbVZ5SWl3aWMyaGhjR1Z6SWl3aVptOXliV0YwSWl3aWNHbDJiM1FpWFN3aVpHVnRieUk2ZEhKMVpYMD0=');

// Set the extensions
jspreadsheet.setExtensions({ formula });

@Component({
    standalone: true,
    selector: "app-root",
    template: `<div #spreadsheet></div>`
})
export class AppComponent {
    @ViewChild("spreadsheet") spreadsheet: ElementRef;
    // Worksheets
    worksheets: jspreadsheet.worksheetInstance[];

    // Create a new data grid
    ngAfterViewInit() {
        // Create spreadsheet
        this.worksheets = jspreadsheet(this.spreadsheet.nativeElement, {
            worksheets: [{
                data: [
    [
        "Sample A",
        "Sample B",
        "",
        "Formula",
        "Result"
    ],
    [
        2,
        1,
        "",
        "STDEV.P A",
        "=STDEV.P(A2:A6)"
    ],
    [
        4,
        3,
        "",
        "STDEV.P B",
        "=STDEV.P(B2:B6)"
    ],
    [
        6,
        5,
        "",
        "STDEV.S A",
        "=STDEV.S(A2:A6)"
    ],
    [
        8,
        7,
        "",
        "STDEV.P both",
        "=STDEV.P(A2:A6, B2:B6)"
    ],
    [
        10,
        11
    ]
]
            }]
        });
    }
}