使用 OR() 的条件格式忽略其中一个参数

使用 OR() 的条件格式忽略其中一个参数

我正在尝试根据另一列中的数据为一列中的数据着色。

以下公式有何错误?

=OR($D1 = "TEXT 1", SEARCH("TEXT 2", $D1) > 0)

我在这里想要做的是“当单元格正好是其值TEXT 1TEXT 2为其值的一部分时,为单元格着色”。

当我这样做时,它仅验证内的参数SEARCH()而不是TEXT 1,但我知道第一个是正确的,因为如果我删除SEARCH()作为参数,那么它就会验证TEXT 1(即使在内部OR())。

我在这里遗漏了什么?

另外,如果有更好的方法进行验证TEXT 2,我将不胜感激。我真的不喜欢 Excel 的语法。类似于 SQL 的“LIKE”的验证、名为“CONTAINS”的函数或类似的东西就很棒了。

答案1

如果TEXT 2未找到,则搜索将出错,因此整个 OR 将出错,并且无论 D1 = 是否都将被视为 FALSEText 1

使用 ISNUMBER 返回 FALSE 或 TRUE:

=OR($D1 = "TEXT 1", ISNUMBER(SEARCH("TEXT 2", $D1)))

在此处输入图片描述

相关内容