我怎样才能应用条件格式的规则,除了第一行的所有行?

我的问题是关于在Excel中编程(创build条件格式规则的公式)。

如果我在格式条件公式中使用以下公式:

=INDIRECT("A"&ROW())>1 

并应用于所有行包括 Apply to字段中具有以下范围的第一行:

 $A:$F 

结果:效果很好。


但是我想把它应用到除第一以外的所有行。 所以我改变了:

 =AND(INDIRECT("A"&ROW())>1;ROW()>1) 

结果:现在它在任何行都不起作用。


上述公式中我的错误是什么?

起初你的问题很混乱。 您可以通过将条件格式设置规则应用于$A:$F而不是$A$2:$F$1048576来将条件格式设置规则应用于除第一行以外的所有行。

但是我怀疑你想把它应用到列$A:$F所有行,但是它应该在testing条件时排除第1行。

如果是这样,你的问题是INDIRECT的不稳定行为。 但是这里不需要INDIRECT 。 你的第一个条件也可以写成:

 =($A1>1) 

这是因为甚至条件格式化将通过使用$或省略$来尊重固定和可变单元格引用之间的区别。 所以这个公式适用于$A:$F将检查第一行中的$A1>1 ,第二行中的$A2>1 ,第三行中的$A3>1等等。 这是因为$A列固定使用$ ,所以是列A绝对引用,但行号1不是固定的,所以是对实际行的相对引用。

适用于$A:$F

在这里输入图像说明

这将具有与您的INDIRECT公式相同的行为,即:如果此行中第一个单元格的值大于1,则格式化当前行。

在这里输入图像说明

然后排除第一行是可能的使用:

 =AND($A1>1,ROW()>1) 

在条件格式中使用相对单元格引用时的一个缺点是,如果应用范围发生更改,则必须更改它们。 例如,在这种情况下,如果有人在第1行上插入一行。

但即使如此, INDIRECT也没有必要。 那么我们可以使用INDEXMATCH

 =(INDEX($A:$A,ROW())>1) 

 =AND(INDEX($A:$A,ROW())>1,ROW()>1)