我使用以下公式:=MIN(IF(A1:A5>B1,A1:A5)) 使用 Ctrl-Shift-Enter我的 B1 值是 10,我的数组是 {1,5,4,2,7},所以在这种情况下没有值大于 10。问题是 excel 返回 0 作为空集的结果,这是一个问题,因为 0 不大于 10。在这种情况下,我可以测试结果 0 是否大于 10 并查看结果无效,但是,如果 B1 对于 {-15,-24,-11,-37-60} 的数组为 -10,则当不存在正确的值时,0 似乎是一个有效的值。
所以有人知道我如何找到带有约束的集合的最小值或最大值,但如果解决方案集为空,则返回错误或不同的内容?
谢谢。
尝试使用 SMALL
而不是 MIN
,即
=SMALL(IF(A1:A5>B1,A1:A5),1)
与MIN
不同,SMALL
函数将为您的示例返回错误 [#NUM!
....或者,如果您想要文本值而不是错误,则也使用 IFERROR 函数,即
=IFERROR(SMALL(IF(A1:A5>B1,A1:A5),1),"None")
如果范围内没有一个数字大于 10,则 IF 语句将返回False
。 看来MIN
正在将 False 转换为数字 (0)。 您需要添加行为来处理 False。
如果您知道所有有效值都必须为>=0,则可以使用 IF
公式的"else"部分返回 -1。
MIN(IF(A1:A5>B1,A1:A5,-1))