T.TEST function
PRO
The T.TEST function in Jspreadsheet Formulas Pro returns the probability associated with a Student's t-test, which checks whether two samples are likely to come from populations with the same mean. It supports paired samples, two samples with equal variance and two samples with unequal variance, with one or two tails. A small result, such as below 0.05, indicates that the means differ. It returns the same values as the compatibility function TTEST.
Documentation
Returns the probability associated with a Student's t-test.
Category
Statistical
Syntax
T.TEST(array1, array2, tails, type)
| Parameter | Description |
|---|---|
array1 |
The first range or array of numeric data. |
array2 |
The second range or array of numeric data. |
tails |
1 for a one-tailed test, 2 for a two-tailed test. |
type |
1 = paired, 2 = two-sample with equal variance, 3 = two-sample with unequal variance. |
Behavior
The T.TEST function computes the t statistic for the chosen test type and returns the corresponding one- or two-tailed probability.
tailsmust be 1 or 2 andtypemust be 1, 2 or 3. Other values return#NUM!.- The paired test (type 1) requires both arrays to have the same number of values. Otherwise it returns
#N/A. Types 2 and 3 accept arrays of different sizes. - Text and logical values inside the ranges are ignored. An array without numbers returns
#N/A.
Common Errors
| Error | Description |
|---|---|
| #NUM! | Returned when tails is not 1 or 2, or when type is not 1, 2 or 3. |
| #N/A | Returned when a paired test receives arrays of different sizes, or when an array contains no numeric values. |
Best practices
- Make sure both ranges contain only the observations, without headers or totals, since text is ignored silently.
- For a paired test, keep the two ranges the same size and the rows aligned, since different sizes return
#N/A.- Pass
tailsandtypeas constants or reference cells validated to 1, 2 or 3, since other values return#NUM!.- Use absolute references for both ranges when the formula is copied to other cells.
Usage
A few examples using the T.TEST function.
// A2:A6 = 2, 4, 6, 8, 10 and B2:B6 = 1, 3, 5, 7, 11
T.TEST(A2:A6, B2:B6, 2, 1)
// Returns 0.208, two-tailed paired test
T.TEST(A2:A6, B2:B6, 1, 2)
// Returns 0.397217, one-tailed test assuming equal variances
T.TEST(A2:A6, B2:B6, 2, 3)
// Returns 0.794684, two-tailed test assuming unequal variances
T.TEST(A2:A6, B2:B6, 3, 1)
// Returns #NUM! because tails must be 1 or 2
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('YjNlM2M1NGMzMjBjYWZkODk4MzUzMDM1OWJmMWJlNmZkZmM2ZTNmYWViNjYyYTU3YTllMTQ3NjBkYTZjZjdmNTJmNWMwMDQ1ZmM5MzE1NzEwYTNhNTA0Mjg3MGVlNjAzYWJiMjAwODRjZjVmZTU2NGJjOTMxOWI2MmU3Y2I2MzMsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpreE1ESTRNamt3TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW5ZeE15SXNJbU5vWVhKMGN5SXNJbVp2Y20xeklpd2labTl5YlhWc1lTSXNJbkJoY25ObGNpSXNJbkpsYm1SbGNpSXNJbU52YlcxbGJuUnpJaXdpYVcxd2IzSjBaWElpTENKaVlYSWlMQ0oyWVd4cFpHRjBhVzl1Y3lJc0luTmxZWEpqYUNJc0luQnlhVzUwSWl3aWMyaGxaWFJ6SWl3aVkyeHBaVzUwSWl3aWMyVnlkbVZ5SWl3aWMyaGhjR1Z6SWl3aVptOXliV0YwSWl3aWNHbDJiM1FpWFN3aVpHVnRieUk2ZEhKMVpYMD0=');
// Set the extensions
jspreadsheet.setExtensions({ formula });
// Create a new spreadsheet
jspreadsheet(document.getElementById('spreadsheet'), {
worksheets: [{
data: [
[
"Sample A",
"Sample B",
"",
"Formula",
"Result"
],
[
2,
1,
"",
"Paired, 2 tails",
"=T.TEST(A2:A6, B2:B6, 2, 1)"
],
[
4,
3,
"",
"Equal var, 2 tails",
"=T.TEST(A2:A6, B2:B6, 2, 2)"
],
[
6,
5,
"",
"Unequal var, 2 tails",
"=T.TEST(A2:A6, B2:B6, 2, 3)"
],
[
8,
7,
"",
"F.TEST",
"=F.TEST(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('YjNlM2M1NGMzMjBjYWZkODk4MzUzMDM1OWJmMWJlNmZkZmM2ZTNmYWViNjYyYTU3YTllMTQ3NjBkYTZjZjdmNTJmNWMwMDQ1ZmM5MzE1NzEwYTNhNTA0Mjg3MGVlNjAzYWJiMjAwODRjZjVmZTU2NGJjOTMxOWI2MmU3Y2I2MzMsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpreE1ESTRNamt3TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW5ZeE15SXNJbU5vWVhKMGN5SXNJbVp2Y20xeklpd2labTl5YlhWc1lTSXNJbkJoY25ObGNpSXNJbkpsYm1SbGNpSXNJbU52YlcxbGJuUnpJaXdpYVcxd2IzSjBaWElpTENKaVlYSWlMQ0oyWVd4cFpHRjBhVzl1Y3lJc0luTmxZWEpqYUNJc0luQnlhVzUwSWl3aWMyaGxaWFJ6SWl3aVkyeHBaVzUwSWl3aWMyVnlkbVZ5SWl3aWMyaGhjR1Z6SWl3aVptOXliV0YwSWl3aWNHbDJiM1FpWFN3aVpHVnRieUk2ZEhKMVpYMD0=');
// 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,
"",
"Paired, 2 tails",
"=T.TEST(A2:A6, B2:B6, 2, 1)"
],
[
4,
3,
"",
"Equal var, 2 tails",
"=T.TEST(A2:A6, B2:B6, 2, 2)"
],
[
6,
5,
"",
"Unequal var, 2 tails",
"=T.TEST(A2:A6, B2:B6, 2, 3)"
],
[
8,
7,
"",
"F.TEST",
"=F.TEST(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('YjNlM2M1NGMzMjBjYWZkODk4MzUzMDM1OWJmMWJlNmZkZmM2ZTNmYWViNjYyYTU3YTllMTQ3NjBkYTZjZjdmNTJmNWMwMDQ1ZmM5MzE1NzEwYTNhNTA0Mjg3MGVlNjAzYWJiMjAwODRjZjVmZTU2NGJjOTMxOWI2MmU3Y2I2MzMsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpreE1ESTRNamt3TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW5ZeE15SXNJbU5vWVhKMGN5SXNJbVp2Y20xeklpd2labTl5YlhWc1lTSXNJbkJoY25ObGNpSXNJbkpsYm1SbGNpSXNJbU52YlcxbGJuUnpJaXdpYVcxd2IzSjBaWElpTENKaVlYSWlMQ0oyWVd4cFpHRjBhVzl1Y3lJc0luTmxZWEpqYUNJc0luQnlhVzUwSWl3aWMyaGxaWFJ6SWl3aVkyeHBaVzUwSWl3aWMyVnlkbVZ5SWl3aWMyaGhjR1Z6SWl3aVptOXliV0YwSWl3aWNHbDJiM1FpWFN3aVpHVnRieUk2ZEhKMVpYMD0=');
// Set the extensions
jspreadsheet.setExtensions({ formula });
export default {
components: {
Spreadsheet,
Worksheet,
},
data() {
// Worksheet data
const data = [
[
"Sample A",
"Sample B",
"",
"Formula",
"Result"
],
[
2,
1,
"",
"Paired, 2 tails",
"=T.TEST(A2:A6, B2:B6, 2, 1)"
],
[
4,
3,
"",
"Equal var, 2 tails",
"=T.TEST(A2:A6, B2:B6, 2, 2)"
],
[
6,
5,
"",
"Unequal var, 2 tails",
"=T.TEST(A2:A6, B2:B6, 2, 3)"
],
[
8,
7,
"",
"F.TEST",
"=F.TEST(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('YjNlM2M1NGMzMjBjYWZkODk4MzUzMDM1OWJmMWJlNmZkZmM2ZTNmYWViNjYyYTU3YTllMTQ3NjBkYTZjZjdmNTJmNWMwMDQ1ZmM5MzE1NzEwYTNhNTA0Mjg3MGVlNjAzYWJiMjAwODRjZjVmZTU2NGJjOTMxOWI2MmU3Y2I2MzMsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpreE1ESTRNamt3TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2liRzlqWVd4b2IzTjBJbDBzSW5Cc1lXNGlPaUl6TkNJc0luTmpiM0JsSWpwYkluWTNJaXdpZGpnaUxDSjJPU0lzSW5ZeE1DSXNJbll4TVNJc0luWXhNaUlzSW5ZeE15SXNJbU5vWVhKMGN5SXNJbVp2Y20xeklpd2labTl5YlhWc1lTSXNJbkJoY25ObGNpSXNJbkpsYm1SbGNpSXNJbU52YlcxbGJuUnpJaXdpYVcxd2IzSjBaWElpTENKaVlYSWlMQ0oyWVd4cFpHRjBhVzl1Y3lJc0luTmxZWEpqYUNJc0luQnlhVzUwSWl3aWMyaGxaWFJ6SWl3aVkyeHBaVzUwSWl3aWMyVnlkbVZ5SWl3aWMyaGhjR1Z6SWl3aVptOXliV0YwSWl3aWNHbDJiM1FpWFN3aVpHVnRieUk2ZEhKMVpYMD0=');
// 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,
"",
"Paired, 2 tails",
"=T.TEST(A2:A6, B2:B6, 2, 1)"
],
[
4,
3,
"",
"Equal var, 2 tails",
"=T.TEST(A2:A6, B2:B6, 2, 2)"
],
[
6,
5,
"",
"Unequal var, 2 tails",
"=T.TEST(A2:A6, B2:B6, 2, 3)"
],
[
8,
7,
"",
"F.TEST",
"=F.TEST(A2:A6, B2:B6)"
],
[
10,
11
]
]
}]
});
}
}