如何从Excel中的列表中获取五个最高值

在我的工作表中,我有一个带有文本的Column1和一个带有随机数字的Column2。 工作表Sheet1

我想获得一个Column3,例如五个“最高文本”: Sheet2中

我知道如果我find一个索引/匹配的数字,我可以得到的文本,但我迷失在sorting的一部分。

放置在单元格C1中,并向下拖动:

=LOOKUP(REPT("z",255),IF(LARGE($B$1:$B$10-(ROW($B$1:$B$10)/9^9),ROWS($A$1:A1))=$B$1:$B$10-(ROW($B$1:$B$10)/9^9),$A$1:$A$10))

这需要用CTRL + SHIFT + ENTERinput

在这里输入图像说明

使用'帮助列'获得LARGE函数的前5个数字,然后在列A上使用INDEX ,使用AGGREGATE和COUNTIF函数返回相应的行号以抵消重复项。

aggregate_top_five

已发布的其他变体:

 =INDIRECT("A"&MATCH(LARGE(B:B,ROW(A1)),B:B,0)) 

testing:

在这里输入图像说明

问题是:如果在第五和第五位之间没有一个干净的rest怎么办? 例如,如果f也是6呢? 这会和别人绑在一起如何判断?

以下将仅列出第一到第五,但是由于关系,允许可能推动实际数字超过5的关系。

在C2中放置以下内容:

  =IF(OR(ROW(1:1)<=5,COUNTIF($C$1:$C1,INDEX($A$1:$A$10,MATCH(LARGE($B$1:$B$10,ROW(1:1)),$B$1:$B$10,0)))>0),INDEX($A$1:$A$10,MATCH(1,INDEX(($B$1:$B$10=LARGE($B$1:$B$10,ROW(1:1)))*(COUNTIF($C$1:$C1,$A$1:$A$10)=0),),0)),"") 

这是一个数组公式,并且必须用Ctrl-Shift-Enter确认。 然后把它复制下来十行(图中公式复制下来十行)。

在这里输入图像说明

现在我们把f改成6所以它并列第五:

在这里输入图像说明

它被添加到列表中。

您可以将输出限制为五行。 但是,这将是优秀的决定前五名。 如果这是你想要的东西比任何其他的答案将工作。