Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何将条件格式规则应用于除第一行以外的所有行?_Excel_Excel Formula_Conditional Formatting - Fatal编程技术网

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

Excel 如何将条件格式规则应用于除第一行以外的所有行?,excel,excel-formula,conditional-formatting,Excel,Excel Formula,Conditional Formatting,我的问题是在excel中编程(为条件格式规则创建公式) 如果我在格式条件公式中使用以下公式: =INDIRECT("A"&ROW())>1 并应用于所有行,包括应用于字段中具有以下范围的第一行: $A:$F 结果:效果很好 但我想将其应用于除第一行以外的所有行。所以我把它改成: =AND(INDIRECT("A"&ROW())>1;ROW()>1) 结果:现在它在任何行上都不起作用 我在上面的公式中犯了什么错误?首先,你的问题令人困惑。您可以“将条件格

我的问题是在excel中编程(为条件格式规则创建公式)

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

=INDIRECT("A"&ROW())>1
并应用于所有行,包括
应用于
字段中具有以下范围的第一行:

$A:$F
结果:效果很好


但我想将其应用于除第一行以外的所有行。所以我把它改成:

=AND(INDIRECT("A"&ROW())>1;ROW()>1)
结果:现在它在任何行上都不起作用



我在上面的公式中犯了什么错误?

首先,你的问题令人困惑。您可以“将条件格式规则应用于除第一行以外的所有行”,方法是将其应用于
$a:$F
,而不是
$a$2:$F$1048576

但我怀疑您希望将其应用于列
$A:$F
中的所有行,但它将在测试条件时排除第1行

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

=($A1>1)
这是因为通过使用
$
或省略
$
,即使是条件格式也会考虑固定单元格引用和可变单元格引用之间的差异。因此,应用于
$A:$F
的此公式将检查第一行中的
$A1>1
,第二行中的
$A2>1
,第三行中的
$A3>1
,依此类推。这是因为列
$A
是使用
$
固定的,因此是对列
A
的绝对引用,但行号
1
不是固定的,因此是对实际行的相对引用

适用于
$A:$F

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

然后可以使用以下方法排除第一行:

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

在条件格式中使用相对单元格引用的缺点之一是,如果应用相对单元格引用的范围发生更改,则必须更改相对单元格引用。例如,在本例中,如果有人在第1行上方插入一行

但即使如此,也没有必要使用
间接
。然后我们可以使用
索引
-
匹配

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


只需在要排除的行中添加额外的公式规则。 将公式设置为
TRUE
,并勾选“如果为TRUE则停止”选项。 此规则应位于规则列表的顶部


我在问题中写道,我的第一个公式(
=INDIRECT(“A”&ROW())>1
)运行得非常好,没有任何问题。它以
$A1
值、
$A2
值、
$A3
值和….为基础运行。。。。但是你的建议(
$A1>1
)有完全不同的结果,这不是我的问题!我的问题是在公式中添加一个条件,除了第一行。我在一个单元格中使用了我的最后一个公式(
=和(间接(“A”&ROW())>1;ROW()>1)
),而且效果也很好!但它在条件格式规则中的条件公式中不起作用。如果将公式
=($A1>1)
作为条件格式应用于
$A:$F
,则该公式将具有与
=INDIRECT(“A”&ROW())>1完全相同的结果。它应该有什么不同的结果?正如我在回答中提到的,使用
间接
的问题在于其易变行为。您的规则
=$A1>1
意味着:如果
$A1
(第一行的第一个单元格)的值大于
1
,请格式化当前行。但是
=间接(“A”&ROW())>1
表示:如果当前行中第一个单元格的值大于
1
,则不格式化当前行。因此,例如,如果我使用
=$A1>1
$A1
单元格值等于
2
,则所有行都将使用此规则格式化!这和我的目标完全不同,不客气。使用
=($A1>1)
时,必须小心应用此选项的范围。适用于
$A:$F
它可以工作。但应用于
$A$2:$F$100
时,它将检查第2行中的
$A1>1
、第3行中的
$A2>1
、第4行中的
$A3>1
,依此类推。然后将格式化错误的行。因此,申请
$A$2:$F$100
必须是
=($A2>1)
。请参阅我的补充资料。是的,这个!一千次是的!我们都有要排除的标题行,并允许列范围选择应用于整个列。这样我们就可以重用电子表格并将不同长度的数据粘贴到行中。这项工作无需不断地重新编辑格式范围(又称“适用于”),并且是工作表中适用于所有列的任何公式的一次性设置和忘记规则。
=AND(INDEX($A:$A,ROW())>1,ROW()>1)