26

要求 :

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

然后分配值“绿色”

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

然后分配值“黄色”

别的

赋值“红色”

我试过这个:

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

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

想不通怎么回事。

4

3 回答 3

39

FIND返回时#VALUE!是错误,不是字符串,所以不能与 比较FIND(...)"#VALUE!"需要检查是否FIND返回错误与ISERROR。也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")
于 2012-05-10T09:58:08.093 回答
12
=IF(CR<=10, "RED", if(CR<50, "YELLOW", if(CR<101, "GREEN")))

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

于 2015-01-09T11:21:05.927 回答
1

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

=IF(P7=0,200,IF(P7=1,100,IF(P7=2,25,IF(P7=3,10,IF((P7=4),5,0)))))
于 2020-06-01T22:34:08.230 回答