Top three performers with percentages

Mel Smith

Well-known Member
Joined
Dec 13, 2005
Messages
1,041
Office Version
  1. 365
Platform
  1. Windows
I am trying to find a formula that will do the following on my spreadsheet:

List the top 3 performers with name and output and show their contribution as a percentage of the overall total in cells B70:D73 (name, contribution, percentage).

My data is arranged as follows: (1) Names in cells B4:B63 (2) Output in cells F4:F63 (3) Overall total in F64

Any ideas?

Mel
 

Excel Facts

Copy a format multiple times
Select a formatted range. Double-click the Format Painter (left side of Home tab). You can paste formatting multiple times. Esc to stop
Please test this:

Excel Formula:
=LET(
performers,B4:B63,
outputs,F4:F63,
sum,F64,
top,LARGE(UNIQUE(outputs),SEQUENCE(3)),
seq,SEQUENCE(ROWS(outputs),,sum,0),
proportions,outputs/seq,
array,HSTACK(performers,outputs,proportions),
DROP(REDUCE("",top,LAMBDA(a,b,VSTACK(a,FILTER(array,outputs=b)))),1))

Please do note that if there are more performers with the same performance, there may be more than 3 results; if you are only interested in 3, what are the criteria to identify them when their performance is the same?
 
Upvote 0
Hi,

This is what I entered (all in one cell): =LET(performers, B4:B63,outputs,F4:F63,sum,F64,top,LARGE(UNIQUE(outputs),SEQUENCE(3)),seq,SEQUENCE(ROWS(outputs),,sum,0),proportions,outputs/seq,array,HSTACK(performers,outputs,proportions),DROP(REDUCE("",top,LAMDA(a,b,VSTACK(a,FILTER(array,outputs=b)))),1))

The error message showed: =NAME?

Mel
 
Upvote 0
Another way. This will also show more than 3 if there is a tie.

Book1
ABCD
69
701Person571222.66
712Person541212.64
723Person221192.60
Sheet1
Cell Formulas
RangeFormula
B70:C72B70=FILTER(HSTACK($B$4:$B$63,$F$4:$F$63),$F$4:$F$63=LARGE($F$4:$F$63,$A70))
D70:D72D70=C70/$F$64*100
Dynamic array formulas.
 
Upvote 0
Solution
Hi,
This is what I entered (all in one cell): =LET(performers, B4:B63,outputs,F4:F63,sum,F64,top,LARGE(UNIQUE(outputs),SEQUENCE(3)),seq,SEQUENCE(ROWS(outputs),,sum,0),proportions,outputs/seq,array,HSTACK(performers,outputs,proportions),DROP(REDUCE("",top,LAMDA(a,b,VSTACK(a,FILTER(array,outputs=b)))),1))

The error message showed: =NAME?

Mel

Thanks for the feedback. Hard to tell what causes the error - would this bring the same result:

Excel Formula:
=LET(
performers,B4:B63,
outputs,F4:F63,
total,F64,
top,LARGE(UNIQUE(outputs),SEQUENCE(3)),
seq,SEQUENCE(ROWS(outputs),,total,0),
proportions,outputs/seq,
array,HSTACK(performers,outputs,proportions),
DROP(REDUCE("",top,LAMBDA(a,b,VSTACK(a,FILTER(array,outputs=b)))),1))

If what myall_blues suggested works for you that would be great; if it does not could you please post sample of your data?
 
Upvote 0
Hi Murray,

Thank you for your helpful reply. With a small adjustment, it worked perfectly.

Thank you.

Mel
 
Upvote 0
Hello hagia-sofia,

As you can see from the above, Murray's solution gave me the result I was after. Thanks for your help.

Mel
 
Upvote 0
Hi,


Thanks for the feedback. Hard to tell what causes the error - would this bring the same result:

Excel Formula:
=LET(
performers,B4:B63,
outputs,F4:F63,
total,F64,
top,LARGE(UNIQUE(outputs),SEQUENCE(3)),
seq,SEQUENCE(ROWS(outputs),,total,0),
proportions,outputs/seq,
array,HSTACK(performers,outputs,proportions),
DROP(REDUCE("",top,LAMBDA(a,b,VSTACK(a,FILTER(array,outputs=b)))),1))

If what myall_blues suggested works for you that would be great; if it does not could you please post sample of your data?
@hagia_sofia OP typed 'LAMDA' instead of LAMBDA.
 
Upvote 0

Forum statistics

Threads
1,221,572
Messages
6,160,573
Members
451,656
Latest member
SBulinski1975

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top