In Excel: use =PERCENTILE.INC(array, k) — =PERCENTILE.INC(B2:B500, 0.9) returns the value below which 90 % of the data falls.
On this page8
Syntax
Arguments
| Argument | required / optional | Description |
|---|---|---|
array | required | The range of values. |
k | required | The percentile as a decimal: 0.9 for the 90th. INC accepts 0 to 1, EXC excludes both ends. |
Related functions
Select the result cell and type =PERCENTILE.INC(.
Select the range of values, then a comma.
Enter the percentile as a decimal — 0.9 for the 90th, not 90.
Press Enter. Use .EXC instead if your methodology excludes the endpoints.
Need it as an auditable file?
Ships inside the linked template — formula-driven, unlocked, audit-ready.
What this does
PERCENTILE returns the value at a given position in the distribution. It is how service-level reporting works: a p95 response time says 95 % of requests were faster than this number, which describes user experience far better than a mean. The .INC variant includes the endpoints and accepts k from 0 to 1; the .EXC variant excludes them and rejects k values too close to either end for the sample size. Values between data points are interpolated, so the result often is not a number that appears in the data. The same idea underpins a lot of everyday Excel work, so the few minutes spent getting it right here pay back across every sheet you build afterwards. Treat it as a pattern, not a one-off, and it stops being something you look up and starts being something you reach for. The difference between a quick fix and a sheet you can trust is the extra minute you spend validating “calculate percentile for each row in excel”. Start on a copy or a tiny sample, keep the affected rows visible, and compare the result with the tool above before you touch the real workbook. When a formula is involved, keep the inputs labelled beside it, reference cells instead of typing values, and apply number formatting only after the result checks out. The point is a calculation you can defend to a CFO or an auditor, but the practical win is that someone else can open the file and understand what happened without asking you.
A worked example
Response times in B2:B5000: =PERCENTILE.INC(B2:B5000, 0.95) gives the p95 latency, and =PERCENTILE.INC(B2:B5000, 0.5) reproduces the median. Setting a compensation band from the 25th to the 75th percentile: =PERCENTILE.INC(C2:C200, 0.25) and =PERCENTILE.INC(C2:C200, 0.75). PERCENTILE is the right summary for response times, salaries and any distribution where the tail is the story, which is exactly where an average misleads. A practical tip before you scale it up: build it once on a small block of test data, confirm the number against the tool on this page, and only then point it at your real sheet. That one habit catches almost every mistake while it is still cheap to fix, long before a wrong figure reaches a report or a colleague.
In Google Sheets
Everything above works in Google Sheets too. Excel and Sheets share the formula syntax used here; only the surrounding menus are arranged differently. That portability is deliberate — learn it once and it follows you between the two tools and across Windows and Mac. Nothing on this page is behind a login or a download: the exact answer is at the top, and the detail below it is there for when you need it. That is the whole promise here — the answer first, and just enough context to make it stick. The short version of “calculate percentile for each row in excel”: the answer is at the top of this page, the tool proves it on your own numbers, and the sections above explain why it holds so the next variation does not stump you. Excel rewards people who reference cells instead of typing values and who keep inputs separate from formulas, because that is what makes a result you can audit months later. Build it once, deliberately, with the live tool as a check, and you convert a one-off lookup into a reusable skill — which is the whole point of learning the why and not just the what.
Common mistakes
- Passing 90 instead of 0.9, which returns
#NUM!because k must be between 0 and 1. - Using .EXC on a small sample where the requested percentile is not defined, which errors.
- Expecting the result to be an actual data point; percentiles are interpolated between neighbouring values.
Frequently asked questions
What is the difference between PERCENTILE.INC and PERCENTILE.EXC?
INC includes the 0th and 100th percentiles and accepts any k from 0 to 1. EXC excludes them and requires k to sit within 1/(n+1) and n/(n+1).
How do I calculate p95?
=PERCENTILE.INC(range, 0.95). Note the decimal — 95 returns an error.
Is the 50th percentile the median?
Yes, =PERCENTILE.INC(range, 0.5) and =MEDIAN(range) agree.