Excel:如何找到由不同列定义的范围内的第二大值?
Excel: How do I find the second highest value in a range defined by a different column?
我想从 Excel 中得到的是在另一列中给出的 "Code" 定义的范围内的第二高值。
例如:在 table 中,值在第一列中给出,代码在第二列中给出。对于代码为“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
我尝试使用 "Large" 函数。但是在指定数组时,我需要能够根据另一个单元格中的值来限制该数组,但我不确定为此使用哪个公式。
我希望有人能帮我解决这个问题!
提前致谢!
假设您的数据从单元格 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 中的排名,公式的大部分返回最高。
你可以这样做:
=LARGE(IF($B:$B=$B2,$A:$A,""),2)
在这个公式中:
$B$2:$B$11 是您的 代码 列
$A$2:$A$11是你值列
这是一个数组公式,所以按ctrl+shift+enter计算公式并向下拖动填充到最后。
我想从 Excel 中得到的是在另一列中给出的 "Code" 定义的范围内的第二高值。
例如:在 table 中,值在第一列中给出,代码在第二列中给出。对于代码为“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
我尝试使用 "Large" 函数。但是在指定数组时,我需要能够根据另一个单元格中的值来限制该数组,但我不确定为此使用哪个公式。
我希望有人能帮我解决这个问题!
提前致谢!
假设您的数据从单元格 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 中的排名,公式的大部分返回最高。
你可以这样做:
=LARGE(IF($B:$B=$B2,$A:$A,""),2)
在这个公式中:
$B$2:$B$11 是您的 代码 列
$A$2:$A$11是你值列
这是一个数组公式,所以按ctrl+shift+enter计算公式并向下拖动填充到最后。