FINV function
PRO
The FINV function in Jspreadsheet Formulas Pro returns the inverse of the F probability distribution: the value x whose cumulative probability equals the given probability. In Jspreadsheet it evaluates the left-tailed inverse and returns the same value as F.INV. This differs from Excel, where the compatibility function FINV returns the right-tailed inverse. Spreadsheets that rely on the Excel behavior should use F.INV.RT instead.
Documentation
Returns the inverse of the F probability distribution for a specified probability and degrees of freedom.
Category
Statistical
Syntax
FINV(probability, degrees_freedom1, degrees_freedom2)
| Parameter | Description |
|---|---|
probability |
The cumulative probability, between 0 and 1. |
degrees_freedom1 |
The numerator degrees of freedom. Must be at least 1. |
degrees_freedom2 |
The denominator degrees of freedom. Must be at least 1. |
Behavior
The FINV function returns the value x such that F.DIST(x, df1, df2, TRUE) equals probability. It is the left-tailed inverse.
FINV(0.05, 3, 5)returns 0.110945, the same asF.INV(0.05, 3, 5). Excel returns 5.409451 for the same call, which in Jspreadsheet is obtained withF.INV.RT(0.05, 3, 5)orF.INV(0.95, 3, 5).probability0 returns 0. Values above 1, and exactly 1, return#NUM!.- Both degrees of freedom must be at least 1. Otherwise the function returns
#NUM!. - Text arguments return
#VALUE!.
Common Errors
| Error | Description |
|---|---|
| #NUM! | Returned when probability is negative or greater than or equal to 1, or when either degrees of freedom is less than 1. |
| #VALUE! | Returned when an argument is text that cannot be interpreted as a number. |
Best practices
- Keep
probabilitybelow 1. Exactly 1 and larger values return#NUM!.- Validate the input cells so that both degrees of freedom are at least 1.
- Use absolute references for the degrees of freedom cells when copying the formula down a column of probability values, for example
$B$1.- Check with
ISNUMBERthat the input cells hold numbers, because text returns#VALUE!.
Usage
A few examples using the FINV function.
FINV(0.05, 3, 5)
// Returns 0.110945, the left-tailed inverse (same as F.INV)
F.INV.RT(0.05, 3, 5)
// Returns 5.409451, the right-tailed inverse that Excel returns for FINV(0.05, 3, 5)
FINV(0.01, 10, 20)
// Returns 0.226994
FINV(1.5, 3, 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('MWUwMzQ0NTljZTgxMDlhMzBlMmUxNTQ0Yjg1OWU5NDhjOGFhM2VhMDE3OTIzNDFiZTcwODhjYTZiODlkN2QwYjY0N2ZlZTU3ZWU3ODk5MGNkM2E2ZjBkY2U4N2U3NDE5ZjJmNDRiMGM4N2RjM2EyMTFmNjdhNTQzOGIwMjczYzAsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpreE9UUTJNek14TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW5ZeE15SXNJbU5vWVhKMGN5SXNJbVp2Y20xeklpd2labTl5YlhWc1lTSXNJbkJoY25ObGNpSXNJbkpsYm1SbGNpSXNJbU52YlcxbGJuUnpJaXdpYVcxd2IzSjBaWElpTENKaVlYSWlMQ0oyWVd4cFpHRjBhVzl1Y3lJc0luTmxZWEpqYUNJc0luQnlhVzUwSWl3aWMyaGxaWFJ6SWl3aVkyeHBaVzUwSWl3aWMyVnlkbVZ5SWl3aWMyaGhjR1Z6SWl3aVptOXliV0YwSWl3aWNHbDJiM1FpWFN3aVpHVnRieUk2ZEhKMVpYMD0=');
// Set the extensions
jspreadsheet.setExtensions({ formula });
// Create a new spreadsheet
jspreadsheet(document.getElementById('spreadsheet'), {
worksheets: [{
data: [
[
"probability",
"df1",
"df2",
"FINV"
],
[
0.05,
3,
5,
"=FINV(A2, B2, C2)"
],
[
0.95,
3,
5,
"=FINV(A3, B3, C3)"
],
[
0.01,
10,
20,
"=FINV(A4, B4, C4)"
],
[
0.025,
4,
6,
"=FINV(A5, B5, 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('MWUwMzQ0NTljZTgxMDlhMzBlMmUxNTQ0Yjg1OWU5NDhjOGFhM2VhMDE3OTIzNDFiZTcwODhjYTZiODlkN2QwYjY0N2ZlZTU3ZWU3ODk5MGNkM2E2ZjBkY2U4N2U3NDE5ZjJmNDRiMGM4N2RjM2EyMTFmNjdhNTQzOGIwMjczYzAsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpreE9UUTJNek14TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW5ZeE15SXNJbU5vWVhKMGN5SXNJbVp2Y20xeklpd2labTl5YlhWc1lTSXNJbkJoY25ObGNpSXNJbkpsYm1SbGNpSXNJbU52YlcxbGJuUnpJaXdpYVcxd2IzSjBaWElpTENKaVlYSWlMQ0oyWVd4cFpHRjBhVzl1Y3lJc0luTmxZWEpqYUNJc0luQnlhVzUwSWl3aWMyaGxaWFJ6SWl3aVkyeHBaVzUwSWl3aWMyVnlkbVZ5SWl3aWMyaGhjR1Z6SWl3aVptOXliV0YwSWl3aWNHbDJiM1FpWFN3aVpHVnRieUk2ZEhKMVpYMD0=');
// Set the extensions
jspreadsheet.setExtensions({ formula });
export default function App() {
// Spreadsheet array of worksheets
const spreadsheet = useRef();
// Worksheet data
const data = [
[
"probability",
"df1",
"df2",
"FINV"
],
[
0.05,
3,
5,
"=FINV(A2, B2, C2)"
],
[
0.95,
3,
5,
"=FINV(A3, B3, C3)"
],
[
0.01,
10,
20,
"=FINV(A4, B4, C4)"
],
[
0.025,
4,
6,
"=FINV(A5, B5, 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('MWUwMzQ0NTljZTgxMDlhMzBlMmUxNTQ0Yjg1OWU5NDhjOGFhM2VhMDE3OTIzNDFiZTcwODhjYTZiODlkN2QwYjY0N2ZlZTU3ZWU3ODk5MGNkM2E2ZjBkY2U4N2U3NDE5ZjJmNDRiMGM4N2RjM2EyMTFmNjdhNTQzOGIwMjczYzAsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpreE9UUTJNek14TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW5ZeE15SXNJbU5vWVhKMGN5SXNJbVp2Y20xeklpd2labTl5YlhWc1lTSXNJbkJoY25ObGNpSXNJbkpsYm1SbGNpSXNJbU52YlcxbGJuUnpJaXdpYVcxd2IzSjBaWElpTENKaVlYSWlMQ0oyWVd4cFpHRjBhVzl1Y3lJc0luTmxZWEpqYUNJc0luQnlhVzUwSWl3aWMyaGxaWFJ6SWl3aVkyeHBaVzUwSWl3aWMyVnlkbVZ5SWl3aWMyaGhjR1Z6SWl3aVptOXliV0YwSWl3aWNHbDJiM1FpWFN3aVpHVnRieUk2ZEhKMVpYMD0=');
// Set the extensions
jspreadsheet.setExtensions({ formula });
export default {
components: {
Spreadsheet,
Worksheet,
},
data() {
// Worksheet data
const data = [
[
"probability",
"df1",
"df2",
"FINV"
],
[
0.05,
3,
5,
"=FINV(A2, B2, C2)"
],
[
0.95,
3,
5,
"=FINV(A3, B3, C3)"
],
[
0.01,
10,
20,
"=FINV(A4, B4, C4)"
],
[
0.025,
4,
6,
"=FINV(A5, B5, C5)"
]
]
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('MWUwMzQ0NTljZTgxMDlhMzBlMmUxNTQ0Yjg1OWU5NDhjOGFhM2VhMDE3OTIzNDFiZTcwODhjYTZiODlkN2QwYjY0N2ZlZTU3ZWU3ODk5MGNkM2E2ZjBkY2U4N2U3NDE5ZjJmNDRiMGM4N2RjM2EyMTFmNjdhNTQzOGIwMjczYzAsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpreE9UUTJNek14TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW5ZeE15SXNJbU5vWVhKMGN5SXNJbVp2Y20xeklpd2labTl5YlhWc1lTSXNJbkJoY25ObGNpSXNJbkpsYm1SbGNpSXNJbU52YlcxbGJuUnpJaXdpYVcxd2IzSjBaWElpTENKaVlYSWlMQ0oyWVd4cFpHRjBhVzl1Y3lJc0luTmxZWEpqYUNJc0luQnlhVzUwSWl3aWMyaGxaWFJ6SWl3aVkyeHBaVzUwSWl3aWMyVnlkbVZ5SWl3aWMyaGhjR1Z6SWl3aVptOXliV0YwSWl3aWNHbDJiM1FpWFN3aVpHVnRieUk2ZEhKMVpYMD0=');
// 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",
"df1",
"df2",
"FINV"
],
[
0.05,
3,
5,
"=FINV(A2, B2, C2)"
],
[
0.95,
3,
5,
"=FINV(A3, B3, C3)"
],
[
0.01,
10,
20,
"=FINV(A4, B4, C4)"
],
[
0.025,
4,
6,
"=FINV(A5, B5, C5)"
]
]
}]
});
}
}