我想从Excel中获得的是由“代码”定义的范围中的第二高值,该代码在不同的列中给出。
例如:在表格中,值在第一列中给出,代码在第二列中给出。对于代码为“201”的值范围,我希望在第三列中获得该范围的第二高值。
价值代码第二高价值
20 201 60
30 201 60
60 201 60
10 201 60
80 201 60
34 301 21
21 301 21
50 401 50
10 401 50
70 401 50
我尝试使用“大”功能。但是在指定数组时,我需要能够根据另一个单元格中的值限制该数组,并且我不确定使用哪个公式。
我希望有人可以帮助我!
提前致谢!
答案 0 :(得分:2)
=LARGE(IF($B$2:$B$11=$B2,$A$2:$A$11,""),2)
在这个公式中:
$ B $ 2:$ B $ 11 是您的代码列
$ A $ 2:$ A $ 11 是值列
这是一个数组公式,所以按 ctrl + shift + 输入来计算公式并拖动并填充它直到最后。
答案 1 :(得分:0)
假设您的数据在单元格A5中开始,其中A列为值,B列为代码。
在单元格E5中,输入您关注的代码。在E6中,键入您想要的位置。 1为最高,2为第二高等。
在F5中使用此公式
=LARGE(IF(B5:B14=E5,A5:A14,""),E6)
按control + shift + enter,它看起来像这样。这是一个数组公式
={LARGE(IF(B5:B14=E5,A5:A14,""),E6)}
它基本上是查看单元格B5到B14,检查它们是否等于E5中的任何代码,然后将图形从A列中的相应单元格存储到数组中。然后,公式的大部分将返回最高,具体取决于您在E6中的排名。