让我们说A列中有10个名字,B列有10个值。我希望按顺序将具有五个最高B列值的人的姓名填充到不同的工作表上。我该怎么做?如果我想要最低值怎么办?
答案 0 :(得分:1)
您可以使用index
match
功能来实现此目的:
鉴于以上示例表:
拉至前5名的公式,将其放入 C2 :
=INDEX($A$2:$A$99,MATCH(1,INDEX(($B$2:$B$99=LARGE($B$2:$B$99,ROWS(C$1:C1)))*(COUNTIF(C$1:C1,$A$2:$A$99)=0),),0))
拉低5的公式,将其放入 D2 :
=INDEX($A$2:$A$99,MATCH(1,INDEX(($B$2:$B$99=SMALL($B$2:$B$99,ROWS(D$1:D1)))*(COUNTIF(D$1:D1,$A$2:$A$99)=0),),0))
对于两者,拖动和填充5行(因为你想要top / low 5)。您可以根据需要拖动/填充
您可以通过将$ A $ 99和$ B $ 99更改为任意数量的行来调整它以适应列的长度。
告诉我它是否适合你。
答案 1 :(得分:1)
您也可以使用vlookup
来实现相同目标,但由于您的lookup value
位于您正在查看的列之前,因此您需要使用choose
函数来解决此问题:
始终使用相同的示例表
将此公式放在 C2 中以拉出前5:
=VLOOKUP(LARGE($B$2:$B$99,ROW(1:1)),CHOOSE({2\1},$A$2:$A$99,$B$2:$B$99),2,0)
并将其放入 D2 以拉低5:
=VLOOKUP(SMALL($B$2:$B$99,ROW(1:1)),CHOOSE({2\1},$A$2:$A$99,$B$2:$B$99),2,0)
希望这也有效。