IF - ELSE IF - Excel中的ELSE结构

时间:2012-05-10 09:50:39

标签: excel excel-formula

要求:

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

的一部分

然后指定值“绿色”

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

的一部分

然后赋值“黄色”

否则

指定值“红色”

我试过了:

=IF(FIND("~",SUBSTITUTE(A1,"abc","~",1))<>"#VALUE!", "Green", IF(FIND("~",SUBSTITUTE(A1,"xyz","~",1))<>"#VALUE!", "Yellow", "Red"))

如果第一个IF为True,则在其他情况下它会产生#VALUE!作为输出。

无法弄清楚什么是错的。

3 个答案:

答案 0 :(得分:30)

FIND返回#VALUE!时,这是一个错误,而不是字符串,因此您无法将FIND(...)"#VALUE!"进行比较,您需要检查FIND是否ISERROR 1}}返回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")

或者,删除双重否定:

{{1}}

答案 1 :(得分:7)

=IF(CR<=10, "RED", if(CR<50, "YELLOW", if(CR<101, "GREEN")))

CR = ColRow (Cell)这是一个例子。在此示例中,当Cell中的值小于或等于10时,RED字将出现在该单元格上。如果条件为真,则以相同的方式,如果first if为false。

答案 2 :(得分:0)

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

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