Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
Solved

# Excel Percentile Calc Across Multiple columns

Posted on 2011-02-24
Medium Priority
1,591 Views
Hi Experts,
I have an Excel sheet where I want to look up a value and then calculate a percentile across multiple columns.  I get how to calculate a percentile across multiple columns and how to calculate a percentile based on meeting a certain criteria - but I have no idea how to combine the two.

This is difficult to explain typed out - see the attached.  I understand how to calculate G2 and G3, but G4 (which is kind of a combination of the two) is where I am stumped.  This is a simplified version, the real one has significantly more data.

Sample.xlsm
0
Question by:Hardly_an_Expert
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 3
• 2

LVL 9

Expert Comment

ID: 34973129
try:

{=PERCENTILE(IF(A2:A43="Retail",B2:D43),0.9)}

enter as an array formula. I have attached your sample file, with the fix.

good luck!
McOZ
Sample.xlsm
0

LVL 50

Expert Comment

ID: 34973316
I think you need to filter out blanks, too, otherwise both your original formula and McOz's suggestion for all three columns will count blanks as zeroes and skew the calculation.

For your basic calculation you can use all three columns in one assuming they are contiguous, i.e.

=PERCENTILE(B2:D43,0.9)

That will automatically ignore blanks but for your next calculation in G3 where you use an IF the blanks are converted to zeroes in the process so for G3 you should use

=PERCENTILE(IF(A2:A43="Retail",IF(B2:B43<>"",B2:B43)),0.9)

and then G4 is the same except the last range(s) are extended to D, i.e.

=PERCENTILE(IF(A2:A43="Retail",IF(B2:D43<>"",B2:D43)),0.9)

regards, barry
0

LVL 50

Expert Comment

ID: 34973375
see attached example

barry
26845770.xlsx
0

Author Comment

ID: 34973867
HI Barry and McOz,
I just had a "duh" moment in looking at your responses... unfortunately, I over simplified my example - there is actually data between the various columns which prevents me from using one big array (e.g, B2:D45).  I am pretty sure I need to look at each column individually.  The problem I am running into is referencing 3 different columns which may have many columns of both text and numbers in between.

See the new attached sample which better reflects my situation.
Sample.xlsm
0

LVL 50

Accepted Solution

barry houdini earned 2000 total points
ID: 34974139
OK, with that version the simplest way it to use the common values in the header row (row 1), i.e. in your example all the header row columns from which you want data start with "Plan" so you can use this formula in I4, again to exclude blanks

=PERCENTILE(IF(A2:A43="Retail",IF(LEFT(B1:F1,4)="Plan",IF(B2:F43<>"",B2:F43))),0.9)

confirmed with CTRL+SHIFT+ENTER

regards, barry
26845770v2.xlsx
0

Author Closing Comment

ID: 34974508
Interesting approach - I can make that work.
Thanks
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes a serious pitfall that can happen when deleting shapes using VBA.
If you need to forecast numbers -- typically for finance -- the Windows and Mac versions of Excel 2016 have a basket of tools to get the job done.
The viewer will learn how to create two correlated normally distributed random variables in Excel, use a normal distribution to simulate the return on different levels of investment in each of the two funds over a period of ten years, and, create a …
Graphs within dashboards are meant to be dynamic, representing data from a period of time that will change each time the dashboard is updated with new data. Rather than update each graph to point to a different set within a static set of data, t…
###### Suggested Courses
Course of the Month6 days, 16 hours left to enroll