Excel Min函数返回0

时间:2017-02-03 15:45:33

标签: excel function min

我已经检查了Excel文档...我总是得到0

这是我的Excel表enter image description here

这是我的代码:

=MIN(IF(C7="X";C20);IF(D7="X";D20))

并且如果有" X"在Cell C7和D7中,我想获得Cell C20或D20的SMALLEST(MIN)值,它可以正常工作,但是 - >当我删除一个" X"比如在单元格D7中,我只返回0,因为最小函数总是返回0,如果我的IF函数不是数字/数字,但是当我删除我的X时,我总是从我的IF()函数中得到False。 ...

所以我的问题是,我怎么能忽略所有If返回值不是数字的意思,何时我的IF()函数返回false< - 我怎么能忽略这个值,我的MIN()函数将给我一个valud结果回来 - 而不是0

???

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

我刚刚针对你的场景测试了这个公式,它适用于所有情况:

1)C7和D7中的X(返回9)
2)X仅在D7中(返回10)
3)X仅在C7中(返回9)
4)C7中没有X,D7中没有X(返回0)

=IF(AND(C7="X",D7="X"),MIN(C20:D20),IF(COUNTIF(C7:D7,"X")>0,INDEX(C20:D20,MATCH("X",C7:D7,0)),0))

答案 1 :(得分:2)

在IF语句中,您可以添加一个非常大的值,以便在FALSE情况下使用:

=MIN(IF(C7="X";C20;99999);IF(D7="X";D20;99999))

然而,这意味着如果没有X,则计算值将为99999.但是对于至少有一个X的情况,您将获得正确的最小值。只需确保FALSE大小值足够大,始终大于第20行中的值。

如果你想要一个特定的值,以防没有找到X,你可以让一个隐藏的单元格进行上面的计算,另一个单元格检查它的值。 e.g:

A1 = MIN(IF(C7="X";C20;99999);IF(D7="X";D20;99999))
A2 = IF(A1=99999;"No Matches";A1)

如果你不介意复杂的公式,你也可以将它们全部合并到一个单元格中:

= IF( MIN(IF(C7="X";C20;99999);IF(D7="X";D20;99999)) = 99999 ;
      "No Matches" ; 
      MIN(IF(C7="X";C20;99999);IF(D7="X";D20;99999)) )