Products

STDEVPA function

PRO BASIC

The STDEVPA function in Jspreadsheet Formulas Pro is a statistical tool that helps you calculate the standard deviation of an entire population dataset, including numbers, text (as zero), and logical values (TRUE/FALSE). Standard deviation is a measure of how spread out your data is, so using STDEVPA can give you a clearer picture of the diversity or variability in your data. It's an easy way to conduct statistical analysis directly within Jspreadsheet.

Documentation

Calculates the standard deviation of an entire population, including numbers and logical values. Text values are treated as zero.

Category

Statistical

Syntax

STDEVPA(value1, [value2], ...)

Parameter Description
value1 The first value in the population. Can be a number, text, or logical value.
valueN Optional. Additional values in the population. Can be a number, text, or logical value.

Behavior

The STDEVPA function calculates the standard deviation based on an entire population, including numbers, text, and logical values. Here's how it specifically handles different data:

  • Numbers: STDEVPA includes these in the calculation.
  • Empty cells: STDEVPA ignores these and does not factor them into the calculation.
  • Text: STDEVPA treats text as the number 0.
  • Booleans: STDEVPA treats TRUE as 1 and FALSE as 0.
  • Errors: If any cell in the range contains an error, STDEVPA will return an error.

Common Errors

Error Description
#DIV/0! Occurs when the data set is empty or contains only one data point. Standard deviation requires at least two data points.
#VALUE! Occurs when the function is applied to non-numeric data, and non-logical data.
#N/A Occurs when the function is applied to a range that contains cells with N/A error.

Best practices

  • Since STDEVPA treats text as 0, ensure your data set does not contain text that is supposed to represent a number (like "ten"). Instead, use actual numbers (like 10).
  • Use STDEVPA when you want to calculate the standard deviation of an entire population. If you are working with a sample of a larger population, consider using 'STDEVP' or 'STDEV' instead.
  • Remember that STDEVPA treats logical values as numbers. If your data set contains TRUE/FALSE values that you do not want treated as 1/0, you might need to convert these to numbers that align with your data set.
  • Be mindful of error values in your data set as STDEVPA will return an error if it encounters one. Consider using error checking functions like 'ISERROR' or 'IFERROR' to handle these.

Usage

A few examples using the STDEVPA function.

// Numbers only
STDEVPA(2, 4, 6, 8, 10)  
// Calculates the population standard deviation of [2,4,6,8,10]

// Numbers with text and logical values
STDEVPA(2, "hello", TRUE, 8, FALSE)  
// "hello" is treated as 0, TRUE as 1, FALSE as 0 → calculates standard deviation of [2,0,1,8,0]

// Range of cells
STDEVPA(A1:A5)  
// Returns the population standard deviation of values in A1:A5, 
// including logical values (TRUE=1, FALSE=0) and text (0)

// Mixed numbers and text-numbers
STDEVPA(5, "3", TRUE, 7)  
// "3" is treated as 3, TRUE as 1 → calculates standard deviation of [5,3,1,7]

Interactive Spreadsheet Demo

<html>
<script src="https://jspreadsheet.com/v11/jspreadsheet.js"></script>
<script src="https://jsuites.net/v5/jsuites.js"></script>
<link rel="stylesheet" href="https://jsuites.net/v5/jsuites.css" type="text/css" />
<link rel="stylesheet" href="https://jspreadsheet.com/v11/jspreadsheet.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>
// Set your JSS license key (The following key only works for one day)
jspreadsheet.setLicense('MjdhZmY4MmZkYTY2ZjUyOWYxNjUwZWY1ODNiZGY1OGZmZTAzZjM0MmRlYzBkMzk3YzNmY2NlMjZmYzdkODY2ZDAwNWRlMmU0MzM4Y2VlYzZkZjJlY2Y1MDdlMDUzNGZmMzRhMzliNGYzYWU4YzBjOWQyODJhYmFiYTU0ZjM0NzQsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01ETXdOVEUzTENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');

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

// Create a new spreadsheet
jspreadsheet(document.getElementById('spreadsheet'), {
  worksheets: [{
    data: [
    [
        "Sales Rep",
        "Q1 Results",
        "Bonus Eligible"
    ],
    [
        "John",
        85,
        true
    ],
    [
        "Sarah",
        "N/A",
        false
    ],
    [
        "Mike",
        92,
        true
    ],
    [
        "Lisa",
        78,
        false
    ],
    [
        "=STDEVPA(B2:B5)",
        "=STDEVPA(C2:C5)",
        ""
    ]
]
  }]
});
</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('MjdhZmY4MmZkYTY2ZjUyOWYxNjUwZWY1ODNiZGY1OGZmZTAzZjM0MmRlYzBkMzk3YzNmY2NlMjZmYzdkODY2ZDAwNWRlMmU0MzM4Y2VlYzZkZjJlY2Y1MDdlMDUzNGZmMzRhMzliNGYzYWU4YzBjOWQyODJhYmFiYTU0ZjM0NzQsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01ETXdOVEUzTENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');

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

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

    // Worksheet data
    const data = [
    [
        "Sales Rep",
        "Q1 Results",
        "Bonus Eligible"
    ],
    [
        "John",
        85,
        true
    ],
    [
        "Sarah",
        "N/A",
        false
    ],
    [
        "Mike",
        92,
        true
    ],
    [
        "Lisa",
        78,
        false
    ],
    [
        "=STDEVPA(B2:B5)",
        "=STDEVPA(C2:C5)",
        ""
    ]
];

    // 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('MjdhZmY4MmZkYTY2ZjUyOWYxNjUwZWY1ODNiZGY1OGZmZTAzZjM0MmRlYzBkMzk3YzNmY2NlMjZmYzdkODY2ZDAwNWRlMmU0MzM4Y2VlYzZkZjJlY2Y1MDdlMDUzNGZmMzRhMzliNGYzYWU4YzBjOWQyODJhYmFiYTU0ZjM0NzQsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01ETXdOVEUzTENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');

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

export default {
    components: {
        Spreadsheet,
        Worksheet,
    },
    data() {
        // Worksheet data
        const data = [
    [
        "Sales Rep",
        "Q1 Results",
        "Bonus Eligible"
    ],
    [
        "John",
        85,
        true
    ],
    [
        "Sarah",
        "N/A",
        false
    ],
    [
        "Mike",
        92,
        true
    ],
    [
        "Lisa",
        78,
        false
    ],
    [
        "=STDEVPA(B2:B5)",
        "=STDEVPA(C2:C5)",
        ""
    ]
]

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

// Set your JSS license key (The following key only works for one day)
jspreadsheet.setLicense('MjdhZmY4MmZkYTY2ZjUyOWYxNjUwZWY1ODNiZGY1OGZmZTAzZjM0MmRlYzBkMzk3YzNmY2NlMjZmYzdkODY2ZDAwNWRlMmU0MzM4Y2VlYzZkZjJlY2Y1MDdlMDUzNGZmMzRhMzliNGYzYWU4YzBjOWQyODJhYmFiYTU0ZjM0NzQsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01ETXdOVEUzTENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');

// 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: [
    [
        "Sales Rep",
        "Q1 Results",
        "Bonus Eligible"
    ],
    [
        "John",
        85,
        true
    ],
    [
        "Sarah",
        "N/A",
        false
    ],
    [
        "Mike",
        92,
        true
    ],
    [
        "Lisa",
        78,
        false
    ],
    [
        "=STDEVPA(B2:B5)",
        "=STDEVPA(C2:C5)",
        ""
    ]
]
            }]
        });
    }
}