NORM.S.INV function

PRO

The NORM.S.INV function in Jspreadsheet Formulas Pro returns the inverse of the standard normal cumulative distribution: the z-score for which the probability of a smaller value equals the given probability. It provides the critical values used in confidence intervals and hypothesis tests, such as 1.96 for a probability of 0.975. It returns the same values as the compatibility function NORMSINV.

Documentation

Returns the inverse of the standard normal cumulative distribution.

Category

Statistical

Syntax

NORM.S.INV(probability)

Parameter Description
probability The cumulative probability, strictly between 0 and 1.

Behavior

The NORM.S.INV function returns the z-score z such that NORM.S.DIST(z, TRUE) equals probability.

  • probability must be strictly between 0 and 1. Both 0 and 1 return #NUM!.
  • A probability of 0.5 returns 0. Probabilities below 0.5 return negative z-scores.
  • Text arguments return #VALUE!.

Common Errors

Error Description
#NUM! Returned when probability is less than or equal to 0 or greater than or equal to 1.
#VALUE! Returned when an argument is text that cannot be interpreted as a number.

Best practices

  • Keep probability strictly between 0 and 1. Exactly 0 or 1 returns #NUM!, so clamp inputs from data with MIN and MAX or handle them with IFERROR.
  • Store probabilities such as 0.975 in a cell referenced absolutely instead of typing them in every formula, so they can be changed in one place.
  • Check with ISNUMBER that the input cells hold numbers, because text returns #VALUE!.

Usage

A few examples using the NORM.S.INV function.

NORM.S.INV(0.025)
// Returns -1.959964

NORM.S.INV(0.97725)
// Returns 2.000002

NORM.S.INV(0.5)
// Returns 0

NORM.S.INV(1.5)
// Returns #NUM! because the probability is above 1

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('YmNhNjMwODI2NDZmNGJmMmNiZjVlOTdlY2ZlOWRiNTQ5MTA4MzU0ZmY3OTA0YWJjYmNkNGNlMTNmNGVhZWYxOWEzMmEzMTc5ZmQ2NDNmOTJkNDQ3N2UzZGNlZjY0YjA2MzY5NTdhNmNmNDdlMmE0OWIzZDI1YjYzOGQ5OThhZTcsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpreE1ESTROREl6TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW5ZeE15SXNJbU5vWVhKMGN5SXNJbVp2Y20xeklpd2labTl5YlhWc1lTSXNJbkJoY25ObGNpSXNJbkpsYm1SbGNpSXNJbU52YlcxbGJuUnpJaXdpYVcxd2IzSjBaWElpTENKaVlYSWlMQ0oyWVd4cFpHRjBhVzl1Y3lJc0luTmxZWEpqYUNJc0luQnlhVzUwSWl3aWMyaGxaWFJ6SWl3aVkyeHBaVzUwSWl3aWMyVnlkbVZ5SWl3aWMyaGhjR1Z6SWl3aVptOXliV0YwSWl3aWNHbDJiM1FpWFN3aVpHVnRieUk2ZEhKMVpYMD0=');

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

// Create a new spreadsheet
jspreadsheet(document.getElementById('spreadsheet'), {
  worksheets: [{
    data: [
    [
        "probability",
        "NORM.S.INV"
    ],
    [
        0.025,
        "=NORM.S.INV(A2)"
    ],
    [
        0.05,
        "=NORM.S.INV(A3)"
    ],
    [
        0.5,
        "=NORM.S.INV(A4)"
    ],
    [
        0.95,
        "=NORM.S.INV(A5)"
    ],
    [
        0.975,
        "=NORM.S.INV(A6)"
    ]
]
  }]
});
</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('YmNhNjMwODI2NDZmNGJmMmNiZjVlOTdlY2ZlOWRiNTQ5MTA4MzU0ZmY3OTA0YWJjYmNkNGNlMTNmNGVhZWYxOWEzMmEzMTc5ZmQ2NDNmOTJkNDQ3N2UzZGNlZjY0YjA2MzY5NTdhNmNmNDdlMmE0OWIzZDI1YjYzOGQ5OThhZTcsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpreE1ESTROREl6TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW5ZeE15SXNJbU5vWVhKMGN5SXNJbVp2Y20xeklpd2labTl5YlhWc1lTSXNJbkJoY25ObGNpSXNJbkpsYm1SbGNpSXNJbU52YlcxbGJuUnpJaXdpYVcxd2IzSjBaWElpTENKaVlYSWlMQ0oyWVd4cFpHRjBhVzl1Y3lJc0luTmxZWEpqYUNJc0luQnlhVzUwSWl3aWMyaGxaWFJ6SWl3aVkyeHBaVzUwSWl3aWMyVnlkbVZ5SWl3aWMyaGhjR1Z6SWl3aVptOXliV0YwSWl3aWNHbDJiM1FpWFN3aVpHVnRieUk2ZEhKMVpYMD0=');

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

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

    // Worksheet data
    const data = [
    [
        "probability",
        "NORM.S.INV"
    ],
    [
        0.025,
        "=NORM.S.INV(A2)"
    ],
    [
        0.05,
        "=NORM.S.INV(A3)"
    ],
    [
        0.5,
        "=NORM.S.INV(A4)"
    ],
    [
        0.95,
        "=NORM.S.INV(A5)"
    ],
    [
        0.975,
        "=NORM.S.INV(A6)"
    ]
];

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

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

export default {
    components: {
        Spreadsheet,
        Worksheet,
    },
    data() {
        // Worksheet data
        const data = [
    [
        "probability",
        "NORM.S.INV"
    ],
    [
        0.025,
        "=NORM.S.INV(A2)"
    ],
    [
        0.05,
        "=NORM.S.INV(A3)"
    ],
    [
        0.5,
        "=NORM.S.INV(A4)"
    ],
    [
        0.95,
        "=NORM.S.INV(A5)"
    ],
    [
        0.975,
        "=NORM.S.INV(A6)"
    ]
]

        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('YmNhNjMwODI2NDZmNGJmMmNiZjVlOTdlY2ZlOWRiNTQ5MTA4MzU0ZmY3OTA0YWJjYmNkNGNlMTNmNGVhZWYxOWEzMmEzMTc5ZmQ2NDNmOTJkNDQ3N2UzZGNlZjY0YjA2MzY5NTdhNmNmNDdlMmE0OWIzZDI1YjYzOGQ5OThhZTcsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpreE1ESTROREl6TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW5ZeE15SXNJbU5vWVhKMGN5SXNJbVp2Y20xeklpd2labTl5YlhWc1lTSXNJbkJoY25ObGNpSXNJbkpsYm1SbGNpSXNJbU52YlcxbGJuUnpJaXdpYVcxd2IzSjBaWElpTENKaVlYSWlMQ0oyWVd4cFpHRjBhVzl1Y3lJc0luTmxZWEpqYUNJc0luQnlhVzUwSWl3aWMyaGxaWFJ6SWl3aVkyeHBaVzUwSWl3aWMyVnlkbVZ5SWl3aWMyaGhjR1Z6SWl3aVptOXliV0YwSWl3aWNHbDJiM1FpWFN3aVpHVnRieUk2ZEhKMVpYMD0=');

// 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: [
    [
        "probability",
        "NORM.S.INV"
    ],
    [
        0.025,
        "=NORM.S.INV(A2)"
    ],
    [
        0.05,
        "=NORM.S.INV(A3)"
    ],
    [
        0.5,
        "=NORM.S.INV(A4)"
    ],
    [
        0.95,
        "=NORM.S.INV(A5)"
    ],
    [
        0.975,
        "=NORM.S.INV(A6)"
    ]
]
            }]
        });
    }
}