将条件格式应用于范围但仅格式化条件为真的单元格

Apply Conditional Formatting to Range but Only Format Cell Where Condition Is True

我有一个 sheet 看起来像这样:

彩色单元格需要根据其值采用特定颜色。我目前正在使用条件格式来实现此目的,但我只能将其应用于单个列而不是整个范围 A:G。例如,这是我的 A 列公式,其值应为浅蓝色:

=OR($A1="CA515",$A1="CA525")

并适用于:

=$A:$A

使用上面的公式,如果 A 列中的任何单元格包含值 CA515 或 CA525,则该单元格单独显示为浅蓝色。有什么方法可以使用单个条件格式公式来实现,如果 A:G 范围内的任何单元格包含值 CA515 或 CA525,则只有该单元格单独显示为浅蓝色?或者我是否必须将公式单独应用于每一列,或者甚至可能求助于 VBA?

提前致谢!

这里可以避免使用VBA*...去掉条件语句中的美元符号,应该是

=OR(A1="CA515", A1="CA525")

美元符号指定引用是相对的还是绝对的。要直观地了解其工作原理,请尝试将这些公式键入单元格并将单元格的一角向下拖动以自动填充:

=A1  'Autofilling this down will give =A2, =A3, ...
=$A1 'Autofilling this down will give =$A1, =$A1, ...

因此,通过删除 $,您的格式条件应该分布在整个范围内。要设置范围,请将 "applies to" 更改为 $A:$G


注意:像这样大范围内的许多条件格式可能会严重影响文档的速度。至少考虑限制不同格式的数量,或者它正在检查的行数。

*虽然上述方法确实避免了 VBA,但在 VBA 中编写您自己的格式化例程可能会更快,因为它不必如此频繁地检查,而且它会不受条件格式混乱的范围移动的影响。