Compatibility

PERCENTRANK

Matches all 66 recorded answers

Recorded: 66 workbook cells. How we measure this · See the Rust code

Local names in 40 languages
LanguageName in Excel
ArabicPERCENTRANK
BulgarianPERCENTRANK
CzechPERCENTRANK
DanishPROCENTPLADS
GermanPERCENTRANK
GreekPERCENTRANK
English (Australia)PERCENTRANK
English (United Kingdom)PERCENTRANK
English (United States)PERCENTRANK
SpanishRANGO.PERCENTIL
EstonianPERCENTRANK
FinnishPROSENTTIJÄRJESTYS
FrenchRANG.POURCENTAGE
HebrewPERCENTRANK
CroatianPERCENTRANK
HungarianSZÁZALÉKRANG
IndonesianPERCENTRANK
ItalianPERCENTRANK
JapanesePERCENTRANK
KoreanPERCENTRANK
LithuanianPERCENTRANK
LatvianPERCENTRANK
NorwegianPROSENTDEL (funksjon)
DutchPERCENT.RANG
PolishPROCENT.POZYCJA
Portuguese (Brazil)PERCENTRANK
Portuguese (Portugal)ORDEM.PERCENTUAL
RomanianPERCENTRANK
RussianПРОЦЕНТРАНГ
SlovakPERCENTRANK
SlovenianPERCENTRANK
Serbian (Latin)PERCENTRANK
SwedishPROCENTRANG
ThaiPERCENTRANK
TurkishYÜZDERANK işlevi
UkrainianPERCENTRANK
VietnamesePERCENTRANK
Chinese (Simplified)PERCENTRANK
Chinese (Hong Kong)PERCENTRANK
Chinese (Traditional)PERCENTRANK

Names from Microsoft's support site.

What it does

PERCENTRANK(array, x, [significance])

PERCENTRANK(array,x,[significance]) returns x’s fractional standing among numeric observations. The inclusive convention puts observed endpoints at zero and one. The omitted precision argument is three.

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.

=PERCENTRANK({10,20,30,40},15) returns 0.166. Fifteen is halfway between the first two observations, so its rank is interpolated before the returned decimal places are truncated.

Quirks

A query outside the numeric data range gives #N/A in the current code. Significance below one gives #NUM!. Microsoft describes this argument as significant digits; the recorded helper instead truncates decimal places. Microsoft documents #NUM! for an empty array, while the current helper returns #N/A; that difference remains visible rather than silently promoted to an Excel rule. Duplicate-rank policy needs separate controls.

Two percent-rank controls retain decimal places rather than significant digits

In the retained catalogue capture, PERCENTRANK({37.15,46,54},38.59,6) returns 0.081355, and PERCENTRANK.INC({0,1,2,3,4,5,6,7,8,9,10,11,12},1) returns 0.083 with omitted significance. These results retain six and three decimal places respectively, and differ from keeping that many significant digits in the untruncated ranks. The scope is these two build 20527 calls.

FormulaExcelMathematical value
=PERCENTRANK({37.15,46,54},38.59,6)
Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), AMD Ryzen 7 4800H, en-ZA, Workbook Compatibility Version 1
Inputs and reference value

Typed formula.

0.081355
0x3fb4d3ae685db76b
—
=PERCENTRANK.INC({0,1,2,3,4,5,6,7,8,9,10,11,12},1)
Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), AMD Ryzen 7 4800H, en-ZA, Workbook Compatibility Version 1
Inputs and reference value

Typed formula.

0.083
0x3fb53f7ced916873
—

Inputs, build details and evidence

How to implement

Sort the admitted numbers. For distinct observations give zero-based index i the fraction i/(n-1). Locate x exactly or bracket it by neighbouring values, then interpolate between their fractions. Finally apply trunc(rank*10^d)/10^d, using the admitted precision d. For the example the first two fractions are 0 and 1/3; their midpoint is 1/6, truncated to 0.166. The current exact-match branch uses a binary search; its duplicate selection is an implementation detail and its tie policy outside these controls remains open.

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.

PERCENTRANK · 3 lines · calc-func/src/catalogue/statistics.rs on GitHub
20 percentrank_legacy "PERCENTRANK" (2, 3) [R "array", V "x", V "significance"] |s, a, sv| {
    percent_rank(s, a, sv, PercentRankMode::Inclusive)
}

Kernels shared with other functions

Argument and result plumbing

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

Version differences

No same-input comparison between named Excel builds is recorded for this function here. The documented behaviour below is not a measurement of every Excel release.

The retained catalogue capture on Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), AMD Ryzen 7 4800H, en-ZA, Workbook Compatibility Version 1 records =PERCENTRANK({37.15,46,54},38.59,6) = 0.081355 (0x3fb4d3ae685db76b). Inputs were entered as the shown formula literal. Raw, saved and reopened views belong to one capture; this is not a comparison between builds.

Excel 16.0.20527.20088

Windows 64-bit, AMD Ryzen 7 4800H, en-ZA, Workbook Compatibility Version 1

The retained catalogue capture on Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), AMD Ryzen 7 4800H, en-ZA, Workbook Compatibility Version 1 records =PERCENTRANK({37.15,46,54},38.59,6) = 0.081355 (0x3fb4d3ae685db76b). Inputs were entered as the shown formula literal. Raw, saved and reopened views belong to one capture; this is not a comparison between builds.

Observed formulas and results
  • =PERCENTRANK({37.15,46,54},38.59,6) → 0.081355
    0x3fb4d3ae685db76b (formula-literal)

Alternatives

PERCENTILE.INC maps a fraction back to a value. RANK.EQ returns an integer rank rather than a fraction.

Named variants

No named variants are recorded yet.

Suggest a correction or contribute an implementation · For agents