EXCEL在重复数组中获得前三名

EXCEL在重复数组中获得前三名,excel,numbers,match,Excel,Numbers,Match,我有一组人在另一列有分数。我需要找到得分最高的前三名并打印他们的名字 例如: Maria 1 Thomas 4 John 3 Jack 2 Ray 2 Laura 4 Kate 3 结果应该是: Thomas Laura John 我得到的是: Thomas Thomas John Thomas John num 我得到的是: Thomas Thomas John Thomas John num 我的第二个失败代码: =INDEX($A$2:$A$8;

我有一组人在另一列有分数。我需要找到得分最高的前三名并打印他们的名字

例如:

Maria  1
Thomas 4
John   3
Jack   2
Ray    2
Laura  4
Kate   3
结果应该是:

Thomas
Laura 
John 
我得到的是:

Thomas
Thomas
John
Thomas
John

num

我得到的是:

Thomas
Thomas
John
Thomas
John

num

我的第二个失败代码:

=INDEX($A$2:$A$8;  MATCH(LARGE(($B$2:$B$8);{1;2;3}); $B$2:$B$8;0))
{=INDEX($A$2:$A$14;SMALL(IF($B$2:$B$14=MAX($B$2:$B$14);ROW($B$2:$B$14)-1);ROW(B4)-1))}

将其放在所需列的第二行:

=INDEX(A:A,AGGREGATE(15,7,ROW($B$1:$B$7)/((COUNTIF($D$1:D1,$A$1:$A$7)=0)*($B$1:$B$7=LARGE(B:B,ROW(1:1)))),1))
并向下拖动三行:


看看:太好了!非常感谢你!请您解释一下,或者发布其他asc订单示例?聚合返回行号,其中
(COUNTIF($D$1:D1,$A$1:$A$7)=0)
($B$1:$B$7=LARGE(B:B,row(1:1))
均为真。第一个确保它是唯一的,第二个确保它等于适当的值。我不明白你想要什么。确保您正在使用
而不是我使用的
我还有新的工作要做。这是我的公式=指数($A$4:$A$16;聚合(15;7;行($H$4:$H$16)/(COUNTIF($I$22:I25;$A$4:$A$A$16)=0)*($H$4:$H$16=大($H$4:$H$16;3));1))我有A4:A16和H4:H16,我必须为I23:I25
=指数($A$4:$A$A$16
应该是
=指数($A:$A:$A:$A