Statistical functions

VARA

Matches all 1,226 recorded answers

Recorded: 1,211 in the answer bank and 15 workbook cells. How we measure this · See the Rust code

Local names in 40 languages
LanguageName in Excel
ArabicVARA
BulgarianVARA
CzechVARA
DanishVARIANSV
GermanVARA
GreekVARA
English (Australia)VARA
English (United Kingdom)VARA
English (United States)VARA
SpanishVARA
EstonianVARA
FinnishVARA
FrenchVARA
HebrewVARA
CroatianVARA
HungarianVARA
IndonesianVARA
ItalianVARA
JapaneseVARA
KoreanVARA
LithuanianVARA
LatvianVARA
NorwegianVARA
DutchVARA
PolishWARIANCJA.A
Portuguese (Brazil)VARA
Portuguese (Portugal)VARA
RomanianVARA
RussianДИСПА
SlovakVARA
SlovenianVARA
Serbian (Latin)VARA
SwedishVARA
ThaiVARA
TurkishVARA işlevi
UkrainianVARA
VietnameseVARA
Chinese (Simplified)VARA
Chinese (Hong Kong)VARA
Chinese (Traditional)VARA

Names from Microsoft's support site.

What it does

VARA(value1, [value2], ...)

VARA(value1, [value2], ...) measures sample variance. It measures squared distance from the mean, so its units are the square of the input units. The divisor is n-1: use this when the observations are a sample of a larger population. This A-family function also admits logical values and text under its inclusion rules.

Try it

Input cells (optional)

Example: {"B2": 3, "B3": 4}. A1 holds the formula. Other cells need values before a formula can read them.

Enter a formula, then calculate.

Runs locally in your browser with OneCalc. Its answer may differ from Excel. Use English function names and commas between arguments.

Put these four entries in B2:B5:

CellValue
B24
B38
B4logical TRUE
B5text missing

=VARA(B2:B5) returns 12.916666666666666. The admitted values are 4,8,1,0: their mean is 3.25, and their squared deviations total 38.75. Divide by 4-1=3.

Compare =VARA({4,8,TRUE,"missing"}): the current array rule skips the logical and text elements, leaving only 4,8, and returns 8. The range and array forms therefore use different counts.

Quirks

Keep the argument's origin until collection is complete:

OriginLogical valueTextEmpty cell
Direct scalarTRUE is 1, FALSE is 0Numeric text converts; other text gives #VALUE!Ordinary scalar coercion
Reference cell1 or 0Counted as 0, including numeric-looking textSkipped
Array elementSkippedSkippedSkipped

These are the current implementation rules. Retained Excel build 20527 controls distinguish the array route; the source records, for example, VARPA({1,TRUE,3})=1 and STDEVPA({1,"a",3})=1. They do not establish every collection edge on every build. Microsoft’s remarks describe broad inclusion, then also say array/reference text is ignored; that wording does not settle the observed range/array distinction.

No admitted values, or only one admitted value, gives #DIV/0! for this sample statistic. Worksheet errors propagate. Changing the collection rule changes the count as well as the total. A centered mathematical formula alone does not reproduce the observed numerical path.

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.

FormulaExcelMathematical 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 value

Number supplied through a cell.

number1: 0.8769085090206681
0x3fec0fa26efa7e14

number2: 1
0x3ff0000000000000

number3: 1.123091490979332
0x3ff1f82ec882c0f6

0.01515151515151495
0x3f8f07c1f07c1e94
—
VAR.S(0.8769085090206679, 1, 1.1230914909793321)
Excel 16.0 build 20527, Windows; bitness and CPU not recorded in this reading
Inputs and reference value

Number supplied through a cell.

number1: 0.8769085090206679
0x3fec0fa26efa7e12

number2: 1
0x3ff0000000000000

number3: 1.1230914909793321
0x3ff1f82ec882c0f7

Exact rational variance of the binary64 inputs, correctly rounded.

0.015151515151515138
0x3f8f07c1f07c1f00
0.015151515151515006
0x3f8f07c1f07c1eb4
VAR.S(3.244042371786199e-10, 0.00034050419142641947)
Excel 16.0 build 20527, Windows; bitness and CPU not recorded in this reading
Inputs and reference value

Number supplied through a cell.

number1: 3.244042371786199e-10
0x3df64afacd3a935a

number2: 0.00034050419142641947
0x3f3650b65dc7a1d6

5.797144172853e-08
0x3e6f1f88c6bbc51a
—
VAR.S(1.2976169487144796e-09, 0.0013620167657056779)
Excel 16.0 build 20527, Windows; bitness and CPU not recorded in this reading
Inputs and reference value

Number supplied through a cell.

number1: 1.2976169487144796e-09
0x3e164afacd3a935a

number2: 0.0013620167657056779
0x3f5650b65dc7a1d6

Exact rational variance of the binary64 inputs, correctly rounded.

9.275430676564799e-07
0x3eaf1f88c6bbc519
9.2754306765648e-07
0x3eaf1f88c6bbc51a
=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 value

Typed formula.

Exact rational variance of the binary64 inputs, correctly rounded.

31907.480453381795
0x40df28debfbf8a84
31907.480453381777
0x40df28debfbf8a7f
STDEV.S(0, 1, 1.031052478719249)
Excel 16.0 build 20527, Windows; bitness and CPU not recorded in this reading
Inputs and reference value

Number supplied through a cell.

number1: 0
0x0000000000000000

number2: 1
0x3ff0000000000000

number3: 1.031052478719249
0x3ff07f30e248f14c

0.5865198874587454
0x3fe2c4c55ae2d85e
—

Inputs, build details and evidence

How to implement

Apply the collection rules above, then use the stored variance recipe. This function uses the sample branch, with final divisor n-1 and no square root.

For the reference example, n=4, S=13, Q=81 and T=R(S*S)=169. The sample numerator is Q-R(T/n)=81-42.25=38.75; dividing by 3 gives 12.916666666666666. Neither centered-pass guard fires: the cancellation ratio is 42.25/81, below 0.99, and the variance is too large for the mean-size test. These integer and quarter-valued intermediate steps are exact; the division by three and any square root still use the prescribed stores.

The same two guards can redirect this call to the centered pass. For 1000,1001,1002, that pass sums 1+0+1=2 and divides by 2. The exact scalar guard edges are measured; their transfer to references and arrays remains open. Nonfinite raw-moment fallback is inferred. No Handbook vector suite is published for this function.

Rust code

Show the CalcFunc source of this function

Quoted from the public repository DnaCalc/DnaCalc, crates calc-func and calc-fml, at commit 9e1884369a67. Comments are the source's own. A kernel shared with other functions appears once, on its module page.

VARA · 3 lines · calc-func/src/catalogue/statistics.rs on GitHub
32 vara "VARA" (1, 255) [R "value1", R "value2"] |s, a, sv| {
    variance(s, a, sv, Held::Values, VarianceDivisor::Sample, false)
}

Kernels shared with other functions

Argument and result plumbing

No implementation has been published with a Handbook test suite for this function.

Version differences

The recorded environments below distinguish a reading from a same-input comparison. Counts describe captured inputs in each environment; overlapping captures and comparisons are not totals of unique worksheet calls.

Excel 16.0 buildPlatform and CPUCaptured inputs
20430Windows, 64-bit, CPU not recorded1,211

The record contains no same-input comparison between these environments. Reading different inputs on different builds does not establish either a version change or cross-build agreement.

Recorded environments and comparison details.

Retained controls from the indexed captures:

Build and recorded CPUCaptured call or argumentsExcel result
20430, CPU not recordedVARA(1,2)0.5 (0x3fe0000000000000)

These are earlier recorded answers, not new Excel runs or an additional cross-build comparison. The function JSON retains each source locator, exact argument bits where available, and input-route status. Call notation does not imply that captured binary64 values were entered as decimal formula literals.

Excel 16.0 build 20430

Windows, 64-bit, CPU not recorded

1,211 captured inputs are indexed for this environment. Capture dates: 2026-09-29 to 2026-09-29. This is a reading count, not a comparison with another build. Retained control VARA(1,2) returned 0.5 (0x3fe0000000000000). The capture specifies exact-double bulk Value2 cell input.

Observed formulas and results
  • VARA(1,2) → 0.5
    0x3fe0000000000000 (cell-value2)

Alternatives

Use VARPA for the population version with the same broad collection policy. VAR.S skips referenced logical values and text. STDEVA takes the sample standard deviation after the same collection.

Named variants

No named variants are recorded yet.

Suggest a correction or contribute an implementation · For agents