PERCENTILE Function in Excel

If you want to find the value below which a given percentage of your data falls, the PERCENTILE function gives it to you in one step.

You hand it your numbers and a percentile like 0.9, and it returns the cutoff for that point.

PERCENTILE returns a single value. But if you feed its k argument a range of percentiles, it spills one result per k into the cells below.

PERCENTILE Function Syntax in Excel

Here is the syntax for the PERCENTILE function.

=PERCENTILE(array, k)
  • array (required) – the range of numbers (your data set).
  • k (required) – the percentile you want, as a number from 0 to 1 (0.9 = the 90th percentile). k can also be a range or array, in which case PERCENTILE spills one result per k.

When to Use PERCENTILE Function

Here are some everyday situations where PERCENTILE comes in handy.

  • Setting test or score cutoffs, like the mark you need to land in the top 10%.
  • Building salary bands by splitting pay into percentile ranges.
  • Tracking response-time or latency SLAs, where teams report the 95th percentile instead of the average.
  • Trimming outliers by cutting off the top and bottom few percent of values.
  • Sorting people or products into performance tiers and deciles.

Example 1: Find the 90th percentile

Let’s start with a simple grading example.

Below is the dataset with student scores in column A (A2:A13). We want to drop the 90th percentile into cell C2.

Percentile Function Dataset Example 1 showing a column of scores from 62 to 99 and a header for 90th Percentile

We want the score that 90% of students fall at or below.

Here is the formula:

=PERCENTILE(A2:A13,0.9)
Excel formula bar showing =PERCENTILE(A2:A13,0.9) to calculate the 90th percentile of a score list resulting in 97.8

How this formula works: k is 0.9 for the 90th percentile. The result, 97.8, is the cutoff, so 90% of the scores sit at or below it.

Because Excel interpolates between ranked values, 97.8 is not necessarily a score anyone actually got.

Pro Tip: k goes from 0 to 1, not 0 to 100. Type 0.9 or 90%, never 90. Anything above 1 returns a #NUM! error.

Example 2: Get quartiles with PERCENTILE

Quartiles are just percentiles at the quarter marks, so PERCENTILE handles them easily.

Below is the dataset with salaries in column A (A2:A13). To the right, column C lists the quartiles and column D holds each value.

Percentile Function Dataset Example 2: Excel table showing a salary list and empty cells for Q1, Median, and Q3 values

We want the 25th, 50th, and 75th percentiles (the three quartiles) of the salaries.

Here is the formula:

=PERCENTILE(A2:A13,0.25)
Excel formula bar showing =PERCENTILE(A2:A13,0.25) to calculate the first quartile value from a salary data list

This returns 50,250 for Q1. You get the other two with =PERCENTILE(A2:A13,0.5) (59,500) and =PERCENTILE(A2:A13,0.75) (69,000).

How this formula works:

  • 0.25, 0.5, and 0.75 give you Q1, the median, and Q3.
  • The median (0.5) is the middle salary, splitting the group in half.
  • PERCENTILE lets you pick any cut point, not just quarters.

Quick modern note: =QUARTILE(A2:A13,1) returns the same Q1. QUARTILE is just PERCENTILE locked to quarter points.

Example 3: All percentiles in one formula

Now for the dynamic-array way. Instead of writing five separate formulas, you can compute several percentiles at once.

Below is the dataset reusing the same salaries in A2:A13. Column C holds five k values (0.1, 0.25, 0.5, 0.75, 0.9) in C2:C6, and column D will hold the spilled results.

Percentile Function Dataset Example 3 showing salary data in column A and percentile k-values in column C

We want five percentiles (10th, 25th, 50th, 75th, 90th) computed at once instead of writing five formulas.

Here is the formula:

=PERCENTILE(A2:A13,C2:C6)
Excel formula bar showing PERCENTILE function applied to an array of salary data with multiple percentile k values

How this formula works:

  • Pointing k at the range C2:C6 makes PERCENTILE return one result per k.
  • The answers spill down D2:D6 automatically (45,300 / 50,250 / 59,500 / 69,000 / 75,800).
  • Edit any k value and the matching result updates on its own.
  • This needs Excel 365 or 2021 for the spill to work.

Pro Tip: You can also type the k values straight into the formula as an array constant, e.g. =PERCENTILE(A2:A13,{0.1;0.25;0.5;0.75;0.9}). Semicolons spill down a column, commas spill across a row.

Example 4: PERCENTILE.INC vs PERCENTILE.EXC

Excel has two newer twins for this function, and they don’t always agree.

Below is the dataset with eight numbers in column A (A2:A9). Column C lists the two function names and column D holds the 20th percentile from each.

Percentile Function Dataset Example 4 showing Excel table with values 4-11 and PERCENTILE.INC and EXC function labels

We want to see how the inclusive and exclusive versions differ on the same data at k=0.2.

Here is the formula:

=PERCENTILE.INC(A2:A9,0.2)
Excel formula bar showing =PERCENTILE.INC(A2:A9,0.2) with calculated 20th percentile results for INC and EXC functions

This returns 5.4. The companion =PERCENTILE.EXC(A2:A9,0.2) returns 4.8 on the same data.

How this formula works:

  • PERCENTILE.INC is identical to PERCENTILE: inclusive, k from 0 to 1, endpoints allowed.
  • PERCENTILE.EXC is exclusive, with k strictly between 0 and 1, and it pushes percentiles slightly outward.
  • That is why INC gives 5.4 and EXC gives 4.8 here.

Pro Tip: PERCENTILE.EXC only accepts k between 1/(n+1) and n/(n+1). With 8 values that is roughly 0.11 to 0.89, so very low or very high percentiles return #NUM!.

Example 5: Set a 95th-percentile cutoff and flag rows

Here is the classic SLA pattern, where one slow outlier matters more than the average.

Below is the dataset with page load times in column A (A2:A13). Column B holds a status flag for each row, and the 95th-percentile cutoff lives in D2.

Percentile Function Dataset Example 5: Excel table showing page load times in column A and a 95th percentile header in D1

We want the 95th-percentile load time as a threshold, then flag any row at or above it.

Here is the formula:

=PERCENTILE(A2:A13,0.95)
Excel formula bar showing =PERCENTILE(A2:A13,0.95) to calculate the 95th percentile of page load times in column A

This returns a cutoff of 1,152.5 in D2. The flag column B then uses =IF(A2>=$D$2,"Slow tail","OK") filled down B2:B13, and only the 1,400 ms row flags “Slow tail”.

How this formula works:

  • PERCENTILE finds the cutoff, about 1,153 ms.
  • The IF column compares each load time to the locked $D$2 cutoff.
  • Only the 1,400 ms outlier lands in the slow tail.
  • This is the SLA pattern: report the 95th percentile instead of the average so one slow outlier does not get averaged away.

Tips & Common Mistakes

  • k is 0 to 1, not 0 to 100 (the most common error). Anything above 1 or below 0 returns #NUM!.
  • PERCENTILE = PERCENTILE.INC. Use PERCENTILE.EXC only when you need the exclusive definition, and remember it rejects very high or very low k values.
  • The result is usually interpolated, so it may be a number that does not appear in your data. That is expected.
  • Text and blank cells are ignored, which changes the count and shifts every percentile.
  • PERCENTILE is legacy. For new work use PERCENTILE.INC (identical results), since it is the future-proof name.

That is everything you need to start pulling percentiles out of any data set.

Start with plain PERCENTILE for cutoffs and quartiles, then reach for the spill trick when you want several percentiles at once.

List of All Excel Functions

Related Excel Functions / Articles:

I am a huge fan of Microsoft Excel and love sharing my knowledge through articles and tutorials. I work as a business analyst and use Microsoft Excel extensively in my daily tasks. My aim is to help you unleash the full potential of Excel and become a data-slaying wizard yourself.