Contact

RANDNORM Function (Gnumeric)

Statistical Intermediate Gnumeric Unknown; source support Gnumeric 1.12.62

Generate Gnumeric normal-model draws with an explicit mean and standard deviation, using deterministic scale controls and clear volatility and probability limits.

Verification status: See the evidence and test scope described in this guide. How formula examples are checked

Quick answer: =RANDNORM(100,15) describes a normal-model draw centered on 100 with standard deviation 15. A draw is variable, not guaranteed to equal 100 or remain within 15 of it. =RANDNORM(100,0) gives the constant 100.

Availability and evidence

  • Introduction: The exact first release under the name RANDNORM is unknown in the retained evidence. An earlier NEWS entry naming RANDGAUSSIAN is not proof of RANDNORM introduction or a documented rename.
  • Source support: Registered in the Gnumeric 1.12.62 plugin. No retirement is established. The last functioning application version is unverified for this guide.
  • Evidence dates: Official source was retained October 13–14, 2026 and reviewed October 15. Independent exact-rational and high-precision mathematical checks are reference calculations. No native Gnumeric, headless application, GUI or random-generator execution was performed.

Exact syntax and units

=RANDNORM(mean,stdev)

Both numeric arguments are required. The second is the standard deviation, not the variance. A negative stdev returns #NUM!. Zero is accepted by the callback and reduces the result to mean for the ordinary finite controls used here.

The source computes stdev*random_normal()+mean. Its helper uses a polar normal-generation procedure, rejecting a zero radius and radii outside the unit disk and caching the second result of a generated pair. These are implementation facts, not a native test of random quality or proof of independent samples in a particular workbook.

For the ideal normal model, the mean is mean and the variance is stdev squared. If the desired variance is 225, supply standard deviation 15. Supplying 225 as the second argument describes a vastly wider model, with variance 50,625.

Worksheet and deterministic checks

Create NormalDraws. Put mean 100 in F2 and standard deviation 15 in G2. Enter =RANDNORM($F$2,$G$2) in A2 and fill through A11. The ten outputs are variable; no fabricated sample sequence or fixed cell-by-cell result is supplied.

In B2 enter =(A2-$F$2)/$G$2 and fill down. This standardizes each existing draw for inspection. B is derived from A, so it is not a separately generated independent sample. A normal distribution is unbounded: values outside mean plus or minus one, two or even three standard deviations are possible.

For an exact control, make a copy and change G2 to 0. Every A cell has reference result 100. The B diagnostic then divides by zero and should not be used for the degenerate case. A failing normalization formula does not mean RANDNORM(100,0) itself is invalid.

Source-backed controls without invented random results

Formula Independent reference or source contract
=RANDNORM(100,0) 100
=RANDNORM(-4.5,0) -4.500000000000
=RANDNORM(0,0) 0
=RANDNORM(100,-1) #NUM!
=RANDNORM(100,15) 100+15*z; variable draw
=RANDNORM(0,1) standard-normal model draw
=RANDNORM(5,10) 5+10*z; variable draw

Only zero-scale and invalid-scale rows have fixed results. The remaining rows describe the model or transformation. No Gnumeric generator or GUI was executed, and none of the values in the next section are presented as observed random draws.

Advanced: check location and scale using supplied z values

Create ScaleCheck with hypothetical standardized inputs -2,-1,0,1,2 in D2:D6. Use =100+15*D2 in E2 and fill down. Exact reference outputs are 70,85,100,115,130. Increasing the mean by five shifts them to 75,90,105,120,135 without changing their spacing.

If the standard deviation instead doubles to 30 with mean 100 unchanged, the mapped values become 40,70,100,130,160. This is an affine-transform check, not evidence that RANDNORM returns five evenly spaced values or that a sample must include its theoretical mean.

The ideal normal model puts approximately 0.682689492137 of its mass within one standard deviation and 0.954499736104 within two. These are distribution probabilities, not a promise that exactly 68 or 95 out of 100 generated cells will meet those bounds.

Advanced: distinguish averages, sums and reused draws

Under an explicitly independent normal-draw model, averaging 25 draws with mean 100 and standard deviation 15 gives an average with mean 100 and standard deviation 3. Their sum has mean 2500 and standard deviation 75. The standard deviation of an independent sum scales with the square root of the count, not with the count itself.

By contrast, multiplying one draw by 25 gives mean 2500 and standard deviation 375. All 25 conceptual terms would then be the same value, perfectly dependent. A reference to one random cell reused many times is not equivalent to an independent-sample model. Actual native correlations were not measured here.

Advanced: normal noise can create negative values

For a model with mean 5 and standard deviation 10, the probability of a negative result is Phi(-0.5), approximately 0.308537538726. Negative outputs are therefore unsurprising even though the mean is positive.

Replacing negative values with zero changes the distribution by collecting their mass at zero; it is no longer the original normal model. Likewise, discarding and redrawing negatives describes a conditional model, not the same transformation. Choose a model appropriate to the quantity rather than silently treating negative draws as calculation errors.

Volatility, errors and practical limits

The function is registered as volatile and has no seed parameter. Recalculation can change outputs. Exact recalculation triggers, saved generator state, cross-machine sequences and file-format transfer were not tested. Preserve the actual resulting values alongside parameters when you need a fixed audit sample, rather than relying on volatile formulas to reproduce it indefinitely.

A negative standard deviation is a domain error; a zero standard deviation is a constant case. Upstream argument errors propagate. Use explicit finite numeric inputs for these controls. Numeric-text parsing, extreme overflow, detailed tail behavior and application-specific random quality remain unverified.

Normal simulation is not a proof that real measurements are normally distributed and is not a certified cryptographic or fairness-sensitive random source. Check units, variance-versus-standard-deviation inputs and reused-cell dependencies before interpreting a run.