GAMMA.DIST function

PRO

The GAMMA.DIST function in Jspreadsheet Formulas Pro returns the gamma distribution, a continuous distribution for positive, right-skewed quantities such as waiting times. It is defined by a shape parameter alpha and a scale parameter beta. It returns the same values as the compatibility function GAMMADIST.

Documentation

Returns the gamma distribution for a value, a shape parameter and a scale parameter.

Category

Statistical

Syntax

GAMMA.DIST(x, alpha, beta, cumulative)

Parameter Description
x The value at which to evaluate the distribution. Must be greater than or equal to 0.
alpha The shape parameter. Must be greater than 0.
beta The scale parameter. Must be greater than 0. Use 1 for the standard gamma distribution.
cumulative TRUE returns the cumulative distribution function. FALSE returns the probability density function.

Behavior

The GAMMA.DIST function evaluates the gamma density when cumulative is FALSE and the probability that the variable is less than or equal to x when it is TRUE.

  • x must be 0 or positive, and alpha and beta must be positive. Otherwise the function returns #NUM!.
  • At x equal to 0 the cumulative probability is 0.
  • Text arguments return #VALUE!.

Common Errors

Error Description
#NUM! Returned when x is negative or when alpha or beta is less than or equal to 0.
#VALUE! Returned when an argument is text that cannot be interpreted as a number.

Best practices

  • Pass cumulative explicitly as TRUE or FALSE so the intent is clear when reading the formula.
  • Validate the input cells so that x is non-negative and alpha and beta are positive, since other values return #NUM!.
  • Use absolute references for the alpha and beta cells when copying the formula down a column of x values, for example $B$1.
  • Check with ISNUMBER that the input cells hold numbers, because text returns #VALUE!.

Usage

A few examples using the GAMMA.DIST function.

GAMMA.DIST(2, 3, 2, FALSE)
// Returns 0.09197, the density at x = 2

GAMMA.DIST(10, 5, 1.5, TRUE)
// Returns 0.794373, the probability that the variable is at most 10

GAMMA.DIST(20, 7, 4, FALSE)
// Returns 0.036556

GAMMA.DIST(-1, 3, 2, TRUE)
// Returns #NUM! because x is negative

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

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

// Create a new spreadsheet
jspreadsheet(document.getElementById('spreadsheet'), {
  worksheets: [{
    data: [
    [
        "x",
        "alpha",
        "beta",
        "cumulative",
        "GAMMA.DIST"
    ],
    [
        2,
        3,
        2,
        false,
        "=GAMMA.DIST(A2, B2, C2, D2)"
    ],
    [
        2,
        3,
        2,
        true,
        "=GAMMA.DIST(A3, B3, C3, D3)"
    ],
    [
        10,
        5,
        1.5,
        true,
        "=GAMMA.DIST(A4, B4, C4, D4)"
    ],
    [
        20,
        7,
        4,
        false,
        "=GAMMA.DIST(A5, B5, C5, D5)"
    ]
]
  }]
});
</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('MWRiZmJlNWNkNzdkMWYyNGIyNjVlYWI2N2M2NzY5MmZjN2MxMThlYWIzZDE3Y2JlMTI0ZjU4MDQwMGYwMDA4MWJjZDRmZmQzYTE1OGYwMjIxZTcwMzBkMzQzM2Q3Y2IxZGMwMmVkOGZlMmI2YTQ1Y2Y3ZWUyMzk2NzUxMDgwNTMsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpreE1ESTROREl5TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW5ZeE15SXNJbU5vWVhKMGN5SXNJbVp2Y20xeklpd2labTl5YlhWc1lTSXNJbkJoY25ObGNpSXNJbkpsYm1SbGNpSXNJbU52YlcxbGJuUnpJaXdpYVcxd2IzSjBaWElpTENKaVlYSWlMQ0oyWVd4cFpHRjBhVzl1Y3lJc0luTmxZWEpqYUNJc0luQnlhVzUwSWl3aWMyaGxaWFJ6SWl3aVkyeHBaVzUwSWl3aWMyVnlkbVZ5SWl3aWMyaGhjR1Z6SWl3aVptOXliV0YwSWl3aWNHbDJiM1FpWFN3aVpHVnRieUk2ZEhKMVpYMD0=');

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

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

    // Worksheet data
    const data = [
    [
        "x",
        "alpha",
        "beta",
        "cumulative",
        "GAMMA.DIST"
    ],
    [
        2,
        3,
        2,
        false,
        "=GAMMA.DIST(A2, B2, C2, D2)"
    ],
    [
        2,
        3,
        2,
        true,
        "=GAMMA.DIST(A3, B3, C3, D3)"
    ],
    [
        10,
        5,
        1.5,
        true,
        "=GAMMA.DIST(A4, B4, C4, D4)"
    ],
    [
        20,
        7,
        4,
        false,
        "=GAMMA.DIST(A5, B5, C5, D5)"
    ]
];

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

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

export default {
    components: {
        Spreadsheet,
        Worksheet,
    },
    data() {
        // Worksheet data
        const data = [
    [
        "x",
        "alpha",
        "beta",
        "cumulative",
        "GAMMA.DIST"
    ],
    [
        2,
        3,
        2,
        false,
        "=GAMMA.DIST(A2, B2, C2, D2)"
    ],
    [
        2,
        3,
        2,
        true,
        "=GAMMA.DIST(A3, B3, C3, D3)"
    ],
    [
        10,
        5,
        1.5,
        true,
        "=GAMMA.DIST(A4, B4, C4, D4)"
    ],
    [
        20,
        7,
        4,
        false,
        "=GAMMA.DIST(A5, B5, C5, D5)"
    ]
]

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

// 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: [
    [
        "x",
        "alpha",
        "beta",
        "cumulative",
        "GAMMA.DIST"
    ],
    [
        2,
        3,
        2,
        false,
        "=GAMMA.DIST(A2, B2, C2, D2)"
    ],
    [
        2,
        3,
        2,
        true,
        "=GAMMA.DIST(A3, B3, C3, D3)"
    ],
    [
        10,
        5,
        1.5,
        true,
        "=GAMMA.DIST(A4, B4, C4, D4)"
    ],
    [
        20,
        7,
        4,
        false,
        "=GAMMA.DIST(A5, B5, C5, D5)"
    ]
]
            }]
        });
    }
}