如何对除第一行以外的所有行应用条件格式规则?

8
我的问题与在Excel中编程有关(创建包含条件的格式规则的公式)。
如果我在我的格式条件公式中使用以下公式:
=INDIRECT("A"&ROW())>1

在“应用于”字段中,包括第一行在内,应用于以下范围的所有行:
$A:$F

结果:它运行良好。


但是我想将其应用于除第一行以外的所有行。因此,我将其更改为:

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

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


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

2个回答

20

只需在您想要排除的行中添加额外的公式规则。 将公式设置为TRUE并选中停止计算选项。 此规则应位于规则列表的顶部。

从条件格式中排除


2
是的,这个!千次肯定!我们都有想要排除的标题行,并允许我们的列范围选择应用于整个列。这样,我们就可以重复使用电子表格并在行中粘贴不同长度的数据,而无需不断重新编辑格式化范围(又称“适用于”),并且对于您应用于所有列的所有公式,这是一个一次性的设置和忘记规则。 - MikeTeeVee

3
起初,您的问题有些令人困惑。您可以通过将条件格式规则应用于$A$2:$F$1048576而不是$A:$F来“对除第一行外的所有行应用条件格式规则”。
但我怀疑您想要将其应用于$A:$F列中的所有行,但在测试条件时应排除第一行。
如果是这样,您的问题就在于INDIRECT的不稳定行为。但是,在此处不需要使用INDIRECT。您的第一个条件也可以写成:
=($A1>1)

这是因为即使使用条件格式,也会通过使用$或省略$来尊重固定和可变单元格引用之间的差异。因此,应用于$A:$F的这个公式将检查第一行中是否有$A1>1,第二行中是否有$A2>1,第三行中是否有$A3>1等等。这是因为列$A使用了$进行了固定,所以是对列A的绝对引用,但行号1没有被固定,所以是对实际行的相对引用。应用于$A:$F

enter image description here

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

enter image description here

然后,要排除第一行,可以使用以下方法:
=AND($A1>1,ROW()>1)

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

但即使如此,也不需要使用“INDIRECT”。然后我们可以使用“INDEX”-“MATCH”:
=(INDEX($A:$A,ROW())>1)

and

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

如果将公式=($A1>1)应用于条件格式设置到$A:$F,它的绝对结果与=INDIRECT("A"&ROW())>1完全相同。它应该有什么不同的结果呢?正如我在答案中提到的,使用INDIRECT的问题在于它的不稳定行为。 - Axel Richter
你的猜测完全是错误的。你有试过吗?公式=($A1>1)应用于$A:$F将检查第一行中的$A1>1,第二行中的$A2>1,第三行中的$A3>1等等。 - Axel Richter
哦哦...我很惊讶!因为当你写下这个答案在我的Excel文件中时,我测试了它,所有的行都被格式化了。但似乎我的测试有一个错误,因为我现在测试它它运行得很好!对不起,谢谢你的答案。我会给你一个+1来感谢你跟进解决问题。 - Ramin Bateni
1
欢迎。使用=($A1>1)时,必须注意应用于哪个范围。应用于$A:$F上可以正常工作。但是应用于$A$2:$F$100上,它将在第二行检查$A1>1,在第三行检查$A2>1,在第四行检查$A3>1等等。然后错误的行将被格式化。因此,对于应用于$A$2:$F$100,它必须是=($A2>1) - Axel Richter
1
请查看我的补充。 - Axel Richter
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接