The variance family uses raw moments with stored steps, and two tests switch it to a centered sum
With RN(v) meaning v rounded to 64 bits on the x87 unit and then stored to binary64, S the running RN sum of the n values and Q the running RN sum of RN(x*x), the sample variance is RN(RN(Q - RN(RN(S*S)/n))/(n-1)) and the population variance RN(RN(RN(n*Q) - RN(S*S))/RN(n*n)). Excel then uses a centered sum instead, adding RN(d*d) with d = RN(x - mean) and dividing by n-1 or n, when either of two stored tests holds: RN(RN(RN(S*S)/n)/Q) > 0.99, or RN(variance*1000) <= |RN(S/n)|. The STDEV functions are the root of this, rounded to 64 bits and then stored. So the answer depends on which path a call takes: the first two VAR.S calls below differ by a few input steps in two arguments, the first passes the 0.99 test and is correctly rounded, and the second takes the raw moments and lands 76 units high. The next pair shows the size test: scaling the inputs by 4 leaves the first path.
Explanation (inferred): These tests were located with scalar arguments in separate cells; that the same edges hold for ranges and arrays is inferred, and their readings have not been taken. RN(variance*1000) <= |mean| is not separated from the rearrangement variance <= |mean|/1000. That a raw moment which overflows also takes the centered sum is inferred from recorded answers that stay finite.
| Formula | Excel | Mathematical value |
|---|---|---|
VAR.S(0.8769085090206681, 1, 1.123091490979332)Excel 16.0 build 20527, Windows; bitness and CPU not recorded in this reading Inputs and reference valueNumber supplied through a cell. number1: number2: number3: | 0.015151515151514950x3f8f07c1f07c1e94 | — |
VAR.S(0.8769085090206679, 1, 1.1230914909793321)Excel 16.0 build 20527, Windows; bitness and CPU not recorded in this reading Inputs and reference valueNumber supplied through a cell. number1: number2: number3: Exact rational variance of the binary64 inputs, correctly rounded. | 0.0151515151515151380x3f8f07c1f07c1f00 | 0.0151515151515150060x3f8f07c1f07c1eb4 |
VAR.S(3.244042371786199e-10, 0.00034050419142641947)Excel 16.0 build 20527, Windows; bitness and CPU not recorded in this reading Inputs and reference valueNumber supplied through a cell. number1: number2: | 5.797144172853e-080x3e6f1f88c6bbc51a | — |
VAR.S(1.2976169487144796e-09, 0.0013620167657056779)Excel 16.0 build 20527, Windows; bitness and CPU not recorded in this reading Inputs and reference valueNumber supplied through a cell. number1: number2: Exact rational variance of the binary64 inputs, correctly rounded. | 9.275430676564799e-070x3eaf1f88c6bbc519 | 9.2754306765648e-070x3eaf1f88c6bbc51a |
=VAR.S({157,376.82,189.207,12.38,12.473,483,306.24,324.1852,482.235,78})Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA Inputs and reference valueTyped formula. Exact rational variance of the binary64 inputs, correctly rounded. | 31907.4804533817950x40df28debfbf8a84 | 31907.4804533817770x40df28debfbf8a7f |
STDEV.S(0, 1, 1.031052478719249)Excel 16.0 build 20527, Windows; bitness and CPU not recorded in this reading Inputs and reference valueNumber supplied through a cell. number1: number2: number3: | 0.58651988745874540x3fe2c4c55ae2d85e | — |