我已经检查了Excel文档...我总是得到0
这是我的代码:
=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
???
感谢您的帮助!
答案 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)) )