我使用以下公式: = 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似乎是一个有效值。
所以任何人都知道我如何能够找到带约束的集合的最小值或最大值,但如果解决方案集为空,则返回错误或不同的东西?
谢谢。
答案 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语句将返回False
。MIN
似乎正在将False转换为数字(0)。您需要添加行为来处理False。
如果您知道所有有效值必须为> = 0,那么您可以使用IF
公式的“else”部分返回-1。
MIN(IF(A1:A5>B1,A1:A5,-1))