RAM*_*RAM 4 excel conditional-formatting excel-formula
我的问题是关于在 excel 中编程(为条件格式规则创建一个公式)。
如果我在格式条件公式中使用以下公式:
=INDIRECT("A"&ROW())>1
Run Code Online (Sandbox Code Playgroud)
并应用于所有行,包括Apply to字段中具有以下范围的第一行:
$A:$F
Run Code Online (Sandbox Code Playgroud)
结果:效果很好。
但我想将它应用于除第一行之外的所有行。所以我把它改成:
=AND(INDIRECT("A"&ROW())>1;ROW()>1)
Run Code Online (Sandbox Code Playgroud)
结果:现在它在任何行上都不起作用。
我在上面的公式中有什么错误?
只需向要排除的行添加额外的公式规则即可。将公式设置为TRUE并勾选Stop If True选项。此规则应位于规则列表的顶部。
起初你的问题很令人困惑。您可以“将条件格式规则应用于除第一行之外的所有行”,方法是不将其应用于$A:$F但应用于$A$2:$F$1048576。
但我怀疑您想将其应用于列中的所有行$A:$F,但在测试条件时它将排除第 1 行。
如果是这样,你的问题是 的不稳定行为INDIRECT。但INDIRECT这里不需要。你的第一个条件也可以写成:
=($A1>1)
Run Code Online (Sandbox Code Playgroud)
这是因为即使条件格式也会通过使用$或省略来尊重固定和可变单元格引用之间的差异$。因此,应用此公式$A:$F将检查是否$A1>1在第一行、$A2>1第二行、$A3>1第三行等。这是因为列$A是固定的$,对列的绝对引用也是如此A,但行号1不固定,对实际行的相对引用也是如此。
应用于$A:$F
这将与您的公式具有相同的行为INDIRECT,即:如果该行中第一个单元格的值大于 1,则格式化当前行:
然后可以使用以下方法排除第一行:
=AND($A1>1,ROW()>1)
Run Code Online (Sandbox Code Playgroud)
在条件格式中使用相对单元格引用的缺点之一是,如果应用的范围发生变化,则必须更改它们。例如,在本例中,如果有人在第 1 行上方插入一行。
但即便如此也INDIRECT没有必要。然后我们可以使用INDEX- MATCH:
=(INDEX($A:$A,ROW())>1)
Run Code Online (Sandbox Code Playgroud)
和
=AND(INDEX($A:$A,ROW())>1,ROW()>1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18013 次 |
| 最近记录: |