2024年3月18日发(作者:)

通常,在Excel中要得到一列数值中的第二大数可用LARGE函数,如

“=LARGE(A1:A10,2)”,但有时会遇到有多个最大值的情况,例如A列为

“{9;9;9;4;8;4;8;5;5;6}”,上述公式返回的还是“9”,而我们要得到的“第二大”数值是“8”。

这种情况下可用下面的一些公式,假如数据在A1:A10:

公式一:

=LARGE(A1:A10,COUNTIF(A1:A10,MAX(A1:A10))+1)

公式二(数组公式):

=MAX((A1:A10

输入完毕需按Ctrl+Shift+Enter结束,下同。

公式三:

=LARGE(IF(FREQUENCY(A1:A10,A1:A10),A1:A10),2)

公式四(数组公式):

=LARGE(IF(MATCH(A1:A10,A1:A10,)=ROW(1:10),A1:A10),2)

最后两个公式不仅能返回“第二大”数值,还能返回“第N大”数值。将其中的“2”

改为N即可返回“第N大”数值。

说明:

1.第一个公式先统计A1:A10中最大值的数量,再加上“1”作为LARGE函数的第二

个参数得到所需“第二大”数值。

2.第二个公式先求出所有小于A1:A10中最大值的数,再用MAX函数返回其中的最大

值,即“第二大”数值。

NCY函数计算数值在区域内的出现频率,并返回一个垂直数组。第三个公

式中FREQUENCY函数的两个参数都是“A1:A10”,返回的垂直数组对应A1:A10所有重

复值的位置处为“0”。这样,结合IF函数可返回A1:A10中不包含重复值的数组,最后用

LARGE函数返回“第二大”数值。之所以重复项对应位置返回“0”,这里笔者结合自己的

理解简单解释一下,仅供参考。FREQUENCY函数的语法为:

FREQUENCY(data_array, bins_array)

本例A1:A10及FREQUENCY(A1:A10,A1:A10)的返回值分别是:

A1:A10: {9;9;9;4;8;4;8;5;5;6}