Excel formula 尝试使用IF(和三个条件)的公式出错

Excel formula 尝试使用IF(和三个条件)的公式出错,excel-formula,Excel Formula,我正在尝试编写一个公式来计算三个单元格中所有可能的值,并在另一个单元格中对它们进行评分。Excel表示我的公式有问题,但我找不到。非常感谢您的帮助 我在电子表格中使用IF(和),但只有两个值。Excel接受这些公式 =IF(AND(B2="No",B3="Red",B5="No"),0, IF(AND(B2="No",B3="Green",B5="No",2, IF(AND(B2="No",B3="Blue",B5="No",3, IF(AND(B2="No",B3="Yellow",B5

我正在尝试编写一个公式来计算三个单元格中所有可能的值,并在另一个单元格中对它们进行评分。Excel表示我的公式有问题,但我找不到。非常感谢您的帮助

我在电子表格中使用IF(和),但只有两个值。Excel接受这些公式

=IF(AND(B2="No",B3="Red",B5="No"),0,
 IF(AND(B2="No",B3="Green",B5="No",2,
 IF(AND(B2="No",B3="Blue",B5="No",3,
 IF(AND(B2="No",B3="Yellow",B5="No",5,5,
 IF(AND(B2="No",B3="Red",B5="Yes"),0,
 IF(AND(B2="No",B3="Green",B5="Yes"),2,
 IF(AND(B2="No",B3="Blue",B5="Yes",3,
 IF(AND(B2="No",B3="Yellow",B5="Yes",5,
 IF(AND(B2="Yes",B3="Red",B5="Yes",0,
 IF(AND(B2="Yes",B3="Green",B5="Yes",1,
 IF(AND(B2="Yes",B3="Blue",B5="Yes",2,
 IF(AND(B2="Yes",B3="Yellow",B5="Yes",5,
 IF(AND(B2="Yes",B3="Red",B5="No",0,
 IF(AND(B2="Yes",B3="Green",B5="No",1,
 IF(AND(B2="Yes",B3="Blue",B5="No",2,
 IF(AND(B2="Yes",B3="Yellow",B5="No",3))))))))))))))))

Excel声明“此公式有问题”。

您有一个
5,5
,您应该有
5
,并且缺少许多
来关闭
s

=IF(AND(B2="No",B3="Red",B5="No"),0,
 IF(AND(B2="No",B3="Green",B5="No"),2,
 IF(AND(B2="No",B3="Blue",B5="No"),3,
 IF(AND(B2="No",B3="Yellow",B5="No"),5,
 IF(AND(B2="No",B3="Red",B5="Yes"),0,
 IF(AND(B2="No",B3="Green",B5="Yes"),2,
 IF(AND(B2="No",B3="Blue",B5="Yes"),3,
 IF(AND(B2="No",B3="Yellow",B5="Yes"),5,
 IF(AND(B2="Yes",B3="Red",B5="Yes"),0,
 IF(AND(B2="Yes",B3="Green",B5="Yes"),1,
 IF(AND(B2="Yes",B3="Blue",B5="Yes"),2,
 IF(AND(B2="Yes",B3="Yellow",B5="Yes"),5,
 IF(AND(B2="Yes",B3="Red",B5="No"),0,
 IF(AND(B2="Yes",B3="Green",B5="No"),1,
 IF(AND(B2="Yes",B3="Blue",B5="No"),2,
 IF(AND(B2="Yes",B3="Yellow",B5="No"),3,""))))))))))))))))
但我认为你可以用一个更简单的公式:

=IFERROR(IF(B2 = "No",CHOOSE(MATCH(B3,{"Red","Green","Blue","Yellow"},0),0,2,3,5),IF(B5="Yes",CHOOSE(MATCH(B3,{"Red","Green","Blue","Yellow"},0),0,1,2,5),CHOOSE(MATCH(B3,{"Red","Green","Blue","Yellow"},0),0,1,2,3))),"")

您有一个
5,5
,您应该有一个
5
,并且缺少许多
来关闭
s

=IF(AND(B2="No",B3="Red",B5="No"),0,
 IF(AND(B2="No",B3="Green",B5="No"),2,
 IF(AND(B2="No",B3="Blue",B5="No"),3,
 IF(AND(B2="No",B3="Yellow",B5="No"),5,
 IF(AND(B2="No",B3="Red",B5="Yes"),0,
 IF(AND(B2="No",B3="Green",B5="Yes"),2,
 IF(AND(B2="No",B3="Blue",B5="Yes"),3,
 IF(AND(B2="No",B3="Yellow",B5="Yes"),5,
 IF(AND(B2="Yes",B3="Red",B5="Yes"),0,
 IF(AND(B2="Yes",B3="Green",B5="Yes"),1,
 IF(AND(B2="Yes",B3="Blue",B5="Yes"),2,
 IF(AND(B2="Yes",B3="Yellow",B5="Yes"),5,
 IF(AND(B2="Yes",B3="Red",B5="No"),0,
 IF(AND(B2="Yes",B3="Green",B5="No"),1,
 IF(AND(B2="Yes",B3="Blue",B5="No"),2,
 IF(AND(B2="Yes",B3="Yellow",B5="No"),3,""))))))))))))))))
但我认为你可以用一个更简单的公式:

=IFERROR(IF(B2 = "No",CHOOSE(MATCH(B3,{"Red","Green","Blue","Yellow"},0),0,2,3,5),IF(B5="Yes",CHOOSE(MATCH(B3,{"Red","Green","Blue","Yellow"},0),0,1,2,5),CHOOSE(MATCH(B3,{"Red","Green","Blue","Yellow"},0),0,1,2,3))),"")

您可以将逻辑以字符串形式放在一个单元格中(例如F1):

然后,您的代码简化为:

=MID(F1, FIND(UPPER(B2&B3&B5),F1)-1, 1)

这也使得将来添加更多条件变得非常容易。

您可以将逻辑以字符串形式放在一个单元格中(例如F1):

然后,您的代码简化为:

=MID(F1, FIND(UPPER(B2&B3&B5),F1)-1, 1)
这也将使将来添加更多条件变得非常容易。

尝试以下方法:

=IF(B3="Red",0,
 IF(B3="Green",
   IF(B2="Yes",1,
   IF(B2="No",2,NA())),
 IF(B3="Blue",
   IF(B2="Yes",2,
   IF(B2="No",3,NA())),
 IF(B3="Yellow",
   IF(AND(B2="Yes",B5="No"),3,5),
 NA()))))
希望这能有所帮助

尝试以下方法:

=IF(B3="Red",0,
 IF(B3="Green",
   IF(B2="Yes",1,
   IF(B2="No",2,NA())),
 IF(B3="Blue",
   IF(B2="Yes",2,
   IF(B2="No",3,NA())),
 IF(B3="Yellow",
   IF(AND(B2="Yes",B5="No"),3,5),
 NA()))))

希望这会有所帮助

非常感谢您的所有回复,请尽快回复。在我发布并意识到Scott Craner发现的错误后,我一直在努力。但是,我也将尝试其他解决方案。谢谢你给我展示了不同的方法来解决我的问题!非常感谢您的所有回复,非常快。在我发布并意识到Scott Craner发现的错误后,我一直在努力。但是,我也将尝试其他解决方案。谢谢你给我展示了不同的方法来解决我的问题!