【问题标题】:Conditional formatting Rule Type 'Use a formula to determine which cells to format' in a table looks at the value in the row the rule was determined条件格式规则类型“使用公式确定要格式化的单元格”在表格中查看确定规则的行中的值
【发布时间】:2021-12-28 08:37:09
【问题描述】:

我在 Excel 中创建了一个包含一行数据的表(VBA 术语中的 listObject)。在向表格添加行之前,我将条件格式添加到第一行,希望新行将继承条件格式。我看到,根据我使用的条件格式规则类型,格式对于新行的行为有点不同。让我用一个例子来说明我的意思。

在下面的示例中,我为 B2 添加了条件格式 - 当单元格为空时,使用橙色填充。之后,当向表中添加行时(参见第 3 行和第 4 行),条件格式会被保留,并且对于每一行,它只对在该行的 B 列中找到的内容很重要。

但是,当我使用规则类型“使用公式确定要格式化的单元格”时,似乎总是第一行数据(即第 2 行)中的值很重要。以下面的规则为例,当 Col2 为空时,Col1 格式将文本更改为粗体和红色。这当然是因为公式中使用了 $B$2。当我们在第 3 行时,我如何确保规则将考虑 B3 而不是 B2 的值?我为此浏览了 StackOverflow 并找到了有趣的帖子 Use a formula based on a table to determine which cells to format。然而,虽然它似乎适用于=INDIRECT("Table1[@Col2]")="a" 之类的规则,但当我尝试=ISBLANK(INDIRECT("Table1[@Col2]")) 之类的规则时它不起作用——它不进行任何格式化。可以让它为后者工作吗?

【问题讨论】:

    标签: excel conditional-formatting


    【解决方案1】:

    ISBLANK() 为我工作。不过你可以试试-

    =INDIRECT("Table1[@Col2]")=""
    

    【讨论】:

    • 感谢@Harun24HR,ISBLANK() 方式确实有效。我一定是打错了。
    【解决方案2】:

    您的问题是您的规则使用的是绝对单元格引用(即$B$2)而不是相对引用(即B2),因此,您复制该规则的任何地方仍将查看@987654324 @。

    这很令人困惑(而且有点烦人),部分原因是 Excel 在这种情况下默认使用绝对引用。此外,如果您尝试更改规则以删除$,您可能会注意到箭头键没有按照您的预期执行。 (通过突出显示单元格引用并按一次或多次 F4 来进行更改通常更容易。)

    我已经养成了采取某些步骤将条件格式应用于多个单元格的习惯,就像您尝试做的那样。

    我通常会选择第一个单元格,将新规则添加到该单元格,然后返回并手动从规则中删除$,然后复制该单元格,然后粘贴格式 我想要的任何其他地方。我发现这比尝试一次将规则应用于多个单元格更好。

    关于relative, absolute, and mixed references的更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-06
      • 1970-01-01
      • 2020-11-06
      • 1970-01-01
      • 2019-01-27
      • 1970-01-01
      相关资源
      最近更新 更多