使用 INDIRECT 函数的条件格式化单元格

Conditionally formatting cells using the INDIRECT function

我正在尝试根据 sheet 顶部的几个 header 之一有条件地格式化一组单元格。每个 header 行包含特定类型数据的 "default" 值,并且有多个 header 行。行将按数据类型排序,以便稍后隐藏其他 header 行。我需要做的格式化是找到与 header 行(该参数的指定默认值)中的相应单元格完全匹配的单元格。

For example,这里的 "data type" 是模型 A 或模型 B,模型 A 的默认颜色参数是红色,模型 B 是蓝色。我想突出显示任何颜色单元格包含与该行数据类型的默认值相同的参数。在此示例中,我想找到第 3、5 和 6 行的颜色参数与前 2 行中定义的默认颜色相匹配,因此突出显示 B3、B5 和 B6。

我使用的条件格式公式是:

=INDIRECT("A"&MATCH($A1,$A:$A,0))

适用于 $A$1:$B$9。我意识到这也会在 header 行中突出显示我的所有默认值,但为了简单起见,我现在可以接受。

我需要做的第一件事是找到任何行的数据类型的第一个实例的行号,这是我使用 MATCH 函数完成的。然后我构建一个间接引用以将当前单元格与同一列中数据类型的 "default value" 进行比较。我想知道相对引用 (=INDIRECT("A"&etc.) 是否无法识别,因为它实际上只是间接函数中的一个字符串。当我比较公式结果时在另一栏中,I can see that I'm finding what I need.

间接函数求值后是否应用公式的相对变化?还是我只是遗漏了一些基本的条件格式规则?

使用 Countifs 检查 header 行以查看您要格式化的范围内的任何一对行是否包含匹配项要容易得多:

=COUNTIFS($A:$A,$A3,$B:$B,$B3)

D 列仅用于测试目的,并未使用。