Excel 如何获取列中的第二大值

Excel 如何获取列中的第二大值,excel,excel-formula,Excel,Excel Formula,最近我发现了大和小工作表函数,可以用来确定第一、第二、第三。。。数组中的最大值 至少,我是这么想的: 当查看数组[1,3,5,7,9](在一列或一行中)时,大(…;2)按预期给出7,但是: 当查看数组[1,1,5,9,9]时,我希望LARGE(…;2)给出5,但我得到的是9 现在这是有意义的:函数LARGE(…;2)似乎占据了数组中最大的条目(值9,位于最后但只有一个位置),删除了它并给出了缩减数组的larges条目(仍然包含另一个9),但这并不是人们直觉上所期望的 为了从[1,1,5,9,9]

最近我发现了
工作表函数,可以用来确定第一、第二、第三。。。数组中的最大值

至少,我是这么想的:
当查看数组
[1,3,5,7,9]
(在一列或一行中)时,
大(…;2)
按预期给出
7
,但是:
当查看数组
[1,1,5,9,9]
时,我希望
LARGE(…;2)
给出
5
,但我得到的是
9

现在这是有意义的:函数
LARGE(…;2)
似乎占据了数组中最大的条目(值
9
,位于最后但只有一个位置),删除了它并给出了缩减数组的larges条目(仍然包含另一个
9
),但这并不是人们直觉上所期望的

为了从
[1,1,5,9,9]
中获取
5
,我需要以下内容:

=LARGE_OF_UNIQUE_VALUES_OF(...;2))
我在
LARGE
文档中没有找到这个


有人知道一种简单的方法来实现这一点吗?

如果您有新的动态数组公式:

=LARGE(UNIQUE(...),2)
如果不使用骨料:

=AGGREGATE(14,7,A1:A5/(MATCH(A1:A5,A1:A5)=ROW(A1:A5)),2)

如果您有新的动态数组公式:

=LARGE(UNIQUE(...),2)
如果不使用骨料:

=AGGREGATE(14,7,A1:A5/(MATCH(A1:A5,A1:A5)=ROW(A1:A5)),2)

这有点像黑客

=LARGE(IF(YOUR_DATA=LARGE(YOUR_DATA,1),SMALL(YOUR_DATA,1)-1,YOUR_DATA),1)
其思想是:(a)获取数据中等于最大元素的任何值,并将其设置为小于最小元素,然后(b)找到(新的)最大元素。如果你想要第二大的也没关系,但是扩展到第三大的会越来越难看


希望有帮助这是一个小技巧

=LARGE(IF(YOUR_DATA=LARGE(YOUR_DATA,1),SMALL(YOUR_DATA,1)-1,YOUR_DATA),1)
其思想是:(a)获取数据中等于最大元素的任何值,并将其设置为小于最小元素,然后(b)找到(新的)最大元素。如果你想要第二大的也没关系,但是扩展到第三大的会越来越难看


希望这对您有所帮助

您需要一个生成唯一列表的帮助器列。然后在唯一列表上执行大型操作。excel 2013调用的功能区中有一个内置命令“删除重复项”。如果你想要一个公式来删除重复的内容,谷歌肯定会给你一堆有这个公式的页面,并描述它是如何工作的。你想要一个生成唯一列表的帮助列。然后在唯一列表上执行大型操作。excel 2013调用的功能区中有一个内置命令“删除重复项”。如果你想要一个公式来删除重复项,谷歌肯定会给你一堆包含该公式的页面,并描述它是如何工作的。上面提到的动态数组公式来自哪个Excel版本?@Dominique see:避开帮助器列做得很好Excel版本中提到的动态数组公式来自哪个Excel版本可用?@Dominique see:避开助手栏做得不错