Contact

R.QNORM Function (Gnumeric)

Statistical Intermediate Gnumeric

Invert normal probabilities with Gnumeric R.QNORM. See lower-tail, upper-tail and log-probability inputs, required parameters and native endpoint errors.

Verification status: 21 reference, boundary and advanced-check formulas were recalculated with Gnumeric 1.12.57 ssconvert. Saved identities, the blank input and numerical results were independently checked. Gnumeric 1.12.62 was source-checked only. How formula examples are checked

Quick answer: =R.QNORM(.5,0,1) gives 0 in Gnumeric 1.12.57.

Availability and version history

  • Introduced: First release not established; present in the retained 1.12.57 source.
  • Supported in: Gnumeric 1.12.62; no retirement is established.
  • Scope: Desktop Gnumeric with its Statistical Functions From R plugin. English comma-separated formulas are shown.
  • Checked: October 14, 2026. Tables and the named advanced check use 1.12.57 ssconvert. Current 1.12.62 source was inspected; that release was not executed.

What R.QNORM returns

R.QNORM finds a normal quantile. With the default lower-tail flag, its result x satisfies P(X≤x)=p. With lower_tail=FALSE it instead inverts an upper-tail probability. When log_p is TRUE, the first argument is LN(p), not an ordinary probability. Versioned function help.

Syntax and arguments

=R.QNORM(probability,mean,standard_deviation[,lower_tail[,log_p]])
  • probability: ordinary p, or its natural logarithm when log_p is TRUE.
  • mean and standard_deviation: required. Use positive spread for an ordinary model.
  • lower_tail: optional, defaults TRUE.
  • log_p: optional, defaults FALSE; specify lower_tail first.

Brackets mark optional arguments; do not type them. Current worksheet implementation.

Reproducible examples

These self-contained formulas were recalculated natively and checked against independent mathematics. Results are rounded to twelve decimal places, or thirteen significant digits for small nonzero values. This is presentation precision, not a universal accuracy guarantee.

Formula Gnumeric 1.12.57 result
=R.QNORM(.5,0,1) 0
=R.QNORM(.975,0,1) 1.95996398454
=R.QNORM(.025,0,1) -1.95996398454
=R.QNORM(.025,0,1,FALSE()) 1.95996398454
=R.QNORM(LN(.025),0,1,FALSE(),TRUE()) 1.95996398454
=R.QNORM(.9,10,2) 12.563103131089
=R.QNORM(.5,10,2) 10
=R.QNORM(-100,0,1,FALSE(),TRUE()) 13.888476033004

Practical worksheet

The standard-normal 97.5th percentile is approximately 1.959963984540. It can be written as =R.QNORM(0.975,0,1) or by requesting upper probability 0.025 with =R.QNORM(0.025,0,1,FALSE()). The lower 2.5th percentile has the opposite sign.

For mean 10 and spread 2, the 90th percentile is approximately 12.563103131089. A central 95% normal interval uses the 2.5th and 97.5th percentiles; the quantiles describe the specified distribution rather than a confidence interval automatically fitted from observations.

Advanced interpretation and checks

A location-scale transformation gives x=mean+sigma×z, where z is the corresponding standard-normal quantile. The native round trip =R.PNORM(R.QNORM(0.975,0,1),0,1) returns 0.975 within floating-point precision.

The call =R.QNORM(-100,0,1,FALSE(),TRUE()) interprets −100 as the log of a very small upper-tail probability and returns approximately 13.888476033004. Do not exponentiate a log probability merely to pass it back to a function that already accepts the log form; sufficiently small values can underflow.

The saved advanced-check result for =R.PNORM(R.QNORM(.975,0,1),0,1) was 0.975.

Boundaries and troubleshooting

For positive spread, ordinary p=0 or p=1 produces #NUM! because the infinite mathematical endpoint is not a finite worksheet number. Probabilities outside [0,1] and positive log probabilities also error. A zero-spread interior-probability example returns the mean; negative spread gives #NUM!. Check which probability representation is in use before interpreting a negative first argument.

F5 is genuinely empty, rather than a cell containing an empty string. #NUM! can represent an unrepresentable infinite mathematical endpoint as well as an invalid numeric domain; the distinctions above matter.

Formula Gnumeric 1.12.57 result
=R.QNORM(0,0,1) #NUM!
=R.QNORM(1,0,1) #NUM!
=R.QNORM(-.1,0,1) #NUM!
=R.QNORM(1.1,0,1) #NUM!
=R.QNORM(.5,10,0) 10
=R.QNORM(.5,0,-1) #NUM!
=R.QNORM(1,0,1,TRUE(),TRUE()) #NUM!
=R.QNORM(0,0,1,TRUE(),TRUE()) #NUM!
=R.QNORM("abc",0,1) #VALUE!
=R.QNORM(F5,0,1) #NUM!
=R.QNORM(.5,0) #N/A
=R.QNORM(.5,0,1,1,0,1) #N/A

Official evidence and checking scope

The relevant worksheet callback is unchanged between the inspected versions. That does not establish later-version numerical execution. Both stale and uncached SUM controls recalculated correctly. Native XML identities were checked; secondary ODF exports retain these functions with the ORG.GNUMERIC namespace. GUI entry, other locales and other spreadsheet products were not tested.