索引值大于 X?

索引值大于 X?

如何索引所有大于 50 的值?

150
60
50
70
100
200

答案1

如果您希望列表的顺序与参考列表的顺序相同,那么:

=IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW($A$1:INDEX(A:A,MATCH(1E+99,A:A)))/($A$1:INDEX(A:A,MATCH(1E+99,A:A))>50),ROW(1:1))),"")

在此处输入图片描述


如果您希望它们按数字顺序排列,那么我们可以摆脱 INDEX:

=IFERROR(AGGREGATE(15,6,$A$1:INDEX(A:A,MATCH(1E+99,A:A))/($A$1:INDEX(A:A,MATCH(1E+99,A:A))>50),ROW(1:1)),"")

要使降序(从大到小)更改1514

在此处输入图片描述


这些比固定数据集所需的要大。

数组类型公式需要限制在数据集内。如果你的数据集是固定的,你可以用 和 替换,$A$1:INDEX(A:A,MATCH(1E+99,A:A))这样$A$1:$A$6会小一点。

查找$A$1:INDEX(A:A,MATCH(1E+99,A:A))并设置一个从 A1 开始到 A 列中最后一个单元格(以数字结束)的范围。

答案2

另一种返回大于 50 的值的方法是使用此数组公式(假设您的列表是A1:A20):

=INDEX($A$1:$A$20,SMALL(IF($A$1:$A$20>50,ROW($A$1:$A$20)-ROW($A$1)+1),ROWS($A$1:A1)))

(输入CTRL+SHIFT+ENTER

并将IFERROR([formula],"")其环绕起来以隐藏#NUM当没有更多匹配时发生的错误。如果您想从下到上返回值,只需在公式中更改SMALL为。LARGE

在此处输入图片描述

相关内容