Excel中的IF-ELSE IF-ELSE结构

Excel中的IF-ELSE IF-ELSE结构,excel,excel-formula,Excel,Excel Formula,要求: 如果单元格A1中的字符串包含“abc”作为字符串的一部分 然后赋值为“绿色” 否则,如果单元格A1中的字符串包含“xyz”作为字符串的一部分 然后将值赋值为“黄色” 否则 赋值为“红色” 我试过这个: =IF(FIND(“~”,replacement(A1,“abc”,“~”,1)),“VALUE!”,“Green”,IF(FIND(“~”,replacement(A1,“xyz”,“~”,1)),“VALUE!”,“Yellow”,“Red”)) 如果first-if为真,那么它就可以

要求:

如果单元格A1中的字符串包含“abc”作为字符串的一部分

然后赋值为“绿色”

否则,如果单元格A1中的字符串包含“xyz”作为字符串的一部分

然后将值赋值为“黄色”

否则

赋值为“红色”

我试过这个:

=IF(FIND(“~”,replacement(A1,“abc”,“~”,1)),“VALUE!”,“Green”,IF(FIND(“~”,replacement(A1,“xyz”,“~”,1)),“VALUE!”,“Yellow”,“Red”))

如果first-if为真,那么它就可以工作。在其他情况下,它给出了#值!作为输出


无法找出问题所在。

FIND
返回
#值时
,它是一个错误,不是字符串,因此您无法将
查找(…)
“#VALUE!”
进行比较,您需要检查
查找
是否返回了一个带有
iError
的错误。另外,
FIND
可以处理多个字符

因此,您的公式的简化和有效版本为:

=IF(ISERROR(FIND("abc",A1))=FALSE, "Green", IF(ISERROR(FIND("xyz",A1))=FALSE, "Yellow", "Red"))
或者,要删除双重否定:

=IF(ISERROR(FIND("abc",A1)), IF(ISERROR(FIND("xyz",A1)), "Red", "Yellow"),"Green")

=如果(CR假设P7是一个单元格,那么您可以使用以下Syntex检查单元格的值,并根据以下嵌套条件将适当的值分配给另一个单元格:

=IF(P7=0,200,IF(P7=1,100,IF(P7=2,25,IF(P7=3,10,IF((P7=4),5,0)))))
=IF(P7=0,200,IF(P7=1,100,IF(P7=2,25,IF(P7=3,10,IF((P7=4),5,0)))))