Contact

PERCENTRANK.EXC Function (Gnumeric)

Statistical Intermediate Gnumeric Gnumeric 1.12.23

Use Gnumeric PERCENTRANK.EXC for n+1 ranks. See ties, interpolation, truncated decimals, singleton behavior and native boundary checks.

Verification status: 25 reference, boundary and advanced-check formulas were recalculated with Gnumeric 1.12.57 ssconvert. Typed inputs, saved formula identities and results were independently checked. Gnumeric 1.12.62 was source-checked only. How formula examples are checked

Quick answer: =PERCENTRANK.EXC(F2:F6,1) gives 0.166 in Gnumeric 1.12.57.

Availability and version history

  • Introduced: Gnumeric 1.12.23 release notes record its addition.
  • Supported in: Gnumeric 1.12.62; no retirement is established.
  • Scope: Desktop Gnumeric with its Statistics plugin. English comma-separated formulas are shown.
  • Checked: October 14, 2026. The tables and named advanced check use 1.12.57 ssconvert. Current 1.12.62 source was inspected; that release was not executed.

What PERCENTRANK.EXC returns

PERCENTRANK.EXC uses the exclusive n+1 rank convention. With n>1 distinct values, the minimum’s untruncated rank is 1/(n+1) and the maximum’s is n/(n+1). The word exclusive describes the ordinary rank scale; it does not guarantee every edge case returns a value strictly between 0 and 1. Versioned function help.

Syntax and arguments

=PERCENTRANK.EXC(array,x[,significance])
  • array: numeric observations; referenced text, logical values and empty cells are ignored.
  • x: a value from the observed numeric minimum through maximum.
  • significance: optional decimal precision, default 3. Results are truncated at that precision, rather than rounded.

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

Reproducible examples

Enter these columns as numbers, except for the explicitly typed H column. F7 and H7 are genuinely empty.

Row F G: ties H: mixed storage L: constant M: reflected N O: shifted P: scaled
2 1 10 number 1 5 −1 1 101 2
3 2 20 logical TRUE 5 −2 2 102 4
4 3 20 logical FALSE 5 −3 3 103 6
5 4 40 text 8 5 −4 4 104 8
6 10 50 text pending 5 −10 empty 110 20

Use an apostrophe entry marker if needed to store H5 as text; it is not part of the stored value. The results below are native outputs rounded to 12 decimal places for readability, rather than application screenshots.

Formula Gnumeric 1.12.57 result
=PERCENTRANK.EXC(F2:F6,1) 0.166
=PERCENTRANK.EXC(F2:F6,3) 0.5
=PERCENTRANK.EXC(F2:F6,10) 0.833
=PERCENTRANK.EXC(F2:F6,2.5) 0.416
=PERCENTRANK.EXC(F2:F6,7) 0.75
=PERCENTRANK.EXC(G2:G6,20) 0.333
=PERCENTRANK.EXC(G2:G6,30) 0.583
=PERCENTRANK.EXC(G2:G6,40,5) 0.66666

Practical worksheet

For 1,2,3,4,10 in F2:F6, the minimum ranks 1/6, shown by default as 0.166, and the maximum ranks 5/6, shown as 0.833. The middle observation 3 ranks exactly 0.5.

In G2:G6, the tied value 20 uses the first tied position, giving 2/6 and default output 0.333. A value 30 lies halfway between the last 20 and 40, giving 3.5/6 and default output 0.583. These are positional conventions, not estimated tail probabilities.

Advanced interpretation and checks

For an exact match with n>1, the untruncated rank is (number_strictly_smaller+1)/(n+1). Between observations, interpolate between adjacent positions on that scale. With five decimal places, the rank of 40 in G2:G6 is 0.66666. Reducing precision can materially change subsequent calculations.

For this distinct dataset, the native check =PERCENTRANK.EXC(F2:F6,PERCENTILE.EXC(F2:F6,0.625),6) returns 0.625. This is not a general inverse identity for tied data or heavily truncated output. A matching singleton returns 1, even with significance 0; that special case is explicitly present in source.

Version-specific source comparison

The relevant argument guards and calculation sequence are preserved in the retained 1.12.57 and 1.12.62 callbacks. This is a source comparison; later-release output was not tested. The decimal scale calls the integer-exponent helper: Gnumeric mapping and the tested GOffice 0.10.57 declaration. This explains the native fractional-significance example; using an integer remains clearer.

Boundaries and troubleshooting

An empty numeric dataset returns #NUM!, and x outside its observed range returns #N/A. Significance below 1 is rejected for datasets with more than one value. The tested fractional setting 2.5 uses 2 decimal places, and 400 returns #DIV/0!. Use positive integer precision and handle singletons explicitly.

Formula Gnumeric 1.12.57 result
=PERCENTRANK.EXC(F2:F6,0) #N/A
=PERCENTRANK.EXC(F2:F6,11) #N/A
=PERCENTRANK.EXC(F7,1) #NUM!
=PERCENTRANK.EXC(F2,1) 1
=PERCENTRANK.EXC(F2,1,0) 1
=PERCENTRANK.EXC(F2,2,0) #N/A
=PERCENTRANK.EXC(L2:L6,5) 0.166
=PERCENTRANK.EXC(F2:F6,2,0) #NUM!
=PERCENTRANK.EXC(F2:F6,2,0.9) #NUM!
=PERCENTRANK.EXC(F2:F6,2,2.5) 0.33
=PERCENTRANK.EXC(F2:F6,2,400) #DIV/0!
=PERCENTRANK.EXC(H2:H6,1) 1
=PERCENTRANK.EXC(F2:F6,2) 0.333
=PERCENTRANK.EXC(F2:F6,2,1) 0.3
=PERCENTRANK.EXC(F2:F6) #N/A
=PERCENTRANK.EXC(F2:F6,2,3,4) #N/A

Official evidence and checking scope

Both the stale SUM cache and the uncached SUM recalculated correctly. Saved formula identities and typed inputs were checked in the native workbook exports. The importer reported unsupported style-extension elements; this does not establish complete formatting support. GUI entry, other locales and later-version execution were not tested.