如果没有找到值,Excel最小值大于x将返回0?

时间:2014-01-14 15:11:14

标签: excel constraints array-formulas

我使用以下公式: = MIN(IF(A1:A5> B1,A1:A5))使用Ctrl-Shift-Enter 我的B1值是10,我的数组是{1,5,4,2,7},所以在这种情况下,没有值大于10。 问题是excel返回0作为空集的结果,这是一个问题,因为0不大于10。 在这种情况下,我可以测试结果0是否大于10并且看到结果是无效的,但是,如果对于{-15,-24,-11,-37-60}的数组,B1为-10当没有正确的值时,0似乎是一个有效值。

所以任何人都知道我如何能够找到带约束的集合的最小值或最大值,但如果解决方案集为空,则返回错误或不同的东西?

谢谢。

2 个答案:

答案 0 :(得分:4)

尝试使用SMALL代替MIN,即

=SMALL(IF(A1:A5>B1,A1:A5),1)

MIN不同,SMALL函数会为您的示例返回错误[#NUM!]

....或者如果你想要一个文本值而不是一个错误,那么也要使用IFERROR函数,即

=IFERROR(SMALL(IF(A1:A5>B1,A1:A5),1),"None")

答案 1 :(得分:1)

如果范围中的数字都不大于10,则您的IF语句将返回FalseMIN似乎正在将False转换为数字(0)。您需要添加行为来处理False。

如果您知道所有有效值必须为> = 0,那么您可以使用IF公式的“else”部分返回-1。

MIN(IF(A1:A5>B1,A1:A5,-1))