【问题标题】:EXCEL Get top 3 largest numbers in repetitive arrayEXCEL 获取重复数组中的前 3 个最大数
【发布时间】:2019-01-08 18:20:51
【问题描述】:

enter image description here我有一组在其他列中有分数的人。我需要找到得分最高的前 3 名并打印他们的姓名。

例子:

Maria  1
Thomas 4
John   3
Jack   2
Ray    2
Laura  4
Kate   3

结果应该是:

Thomas
Laura 
John 

我得到了什么:

Thomas
Thomas
John

我得到了什么:

Thomas
John

num

我尝试过使用 LARGE、MATCH、MIN、MAX 但没有任何效果。

我的第一个失败代码:

=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))}

【问题讨论】:

标签: excel numbers match


【解决方案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 命令发布其他示例?
  • AGGREGATE 返回(COUNTIF($D$1:D1,$A$1:$A$7)=0)($B$1:$B$7=LARGE(B:B,ROW(1:1))) 都为真的行号。第一个确保它是唯一的,第二个确保它等于适当的值。
  • 我不明白你想要什么。确保您使用的是;,而不是我使用的,
  • 我有新的工作要做。有我的公式 =INDEX($A$4:$A$16;AGGREGATE(15;7;ROW($H$4:$H$16)/((COUNTIF($I$22:I25;$A$4:$A$16) =0)*($H$4:$H$16=LARGE($H$4:$H$16;3)));1)) 我有 A4:A16 和 H4:H16 我必须写出 I23 的答案:I25
  • =INDEX($A$4:$A$16 应该是=INDEX($A:$A
猜你喜欢
  • 2022-11-30
  • 2012-08-06
  • 1970-01-01
  • 2018-05-21
  • 1970-01-01
  • 2017-10-16
  • 2021-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多