根据不同列中的前5个值从Excel中的单元格提取值
假设列A有十个名字,列B有十个值。 我需要具有五个最高列B值的人员的姓名,以便在不同的工作表上填充。 我将如何做到这一点? 如果我想要最低的价值呢?
你也可以使用vlookup
来达到相同的效果,但是因为你的lookup value
出现在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)
希望这个作品也是如此。
你可以使用index
match
function来实现这一点:
鉴于上面的例子表:
公式拉顶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行(因为你想顶/低5)。 你可以拖曳/填充尽可能多的。
您可以通过将$ A $ 99和$ B $ 99更改为任意数量的行来适应您的列的长度。
告诉我,如果它适合你。