首页 > 解决方案 > 如何让 IF(AND) 在多个条件下工作?

问题描述

我正在尝试制作一个页面计算器,它根据输入到三个下拉单元格中的内容返回规定的值。

下拉单元格是:

我似乎无法掌握 IF 函数的窍门。这将返回我想要的:

=IF(AND(B7=Sheet1!E2,B8=Sheet1!C2,B9=Sheet1!A2),467,FALSE)

但是现在我需要添加大量列、修剪大小和文本设计的其他组合,其中的选择将决定返回哪个数字。一次添加具有一个变体的另一行似乎不起作用,例如

=IF(AND(B7=Sheet1!E2,B8=Sheet1!C2,B9=Sheet1!A2),467,FALSE), IF(AND(B7=Sheet1!E2,B8=**Sheet1!C3**,B9=Sheet1!A2),570,FALSE)

我只是得到#VALUE!

有什么建议吗?

标签: excelif-statementconditional-statements

解决方案


您只需要使用正确的语法正确嵌套 If 条件 - 括号、逗号需要准确放置。

尝试在它自己的行中添加每个 If 语句:

=IF( AND(B4=Sheet1!E2,B5=Sheet1!C2,B6=Sheet1!A2),
     Sheet1!J2,
       IF(AND(B4=Sheet1!E2,B5=Sheet1!C3,B6=Sheet1!A2),
          Sheet1!J3, 
          IF(AND(B4=Sheet1!E2,Calculator!B5=Sheet1!C4,Calculator!B6=Sheet1!A2),
             Sheet1!E3,
             False
            )
          )
       )
    )

您也需要正确关闭每个支架

上述过程应该可以帮助您理解公式中的问题,但解决它的更好方法是使用Switch Formula。它使嵌套条件更容易:

=SWITCH(TRUE,
AND(B4=Sheet1!E2,B5=Sheet1!C2,B6=Sheet1!A2), Sheet1!J2,
AND(B4=Sheet1!E2,B5=Sheet1!C3,B6=Sheet1!A2), Sheet1!J3,
AND(B4=Sheet1!E2,Calculator!B5=Sheet1!C4,Calculator!B6=Sheet1!A2), Sheet1!E3,
"If nothing matches - Default"
)

公式 ( ) 中的第一行=SWITCH(TRUE表示,当找到满足条件的条件时停止搜索TRUE


推荐阅读