【问题标题】:Conditional Formatting with Formula using Relative References使用相对引用的公式条件格式
【发布时间】:2016-07-18 13:52:05
【问题描述】:

我四处寻找这个问题的答案,发现了一个类似的帖子,但它并没有完全回答我的问题,所以这里继续。

我有两列,每列有 262,000 行数据。我试图根据两个条件突出显示其中一列中的数据。我想我有适合条件格式的公式,但问题是它不会像我想要的那样适用于整个列。例如:

=AND(K6<=1638, L6=0)

这就是我的公式。我希望该格式一直复制并粘贴到 K 列,每次都迭代。例如,下面的单元格应该有如下格式:=AND(K7=1638, L7=0),但我无法做到这一点。它只是不断查看单元格 K6 和 L6 中的值。

格式刷不是将这种格式应用于每个单元格的方法吗?

【问题讨论】:

  • 在进行条件格式化时,您不能依赖通常的 Excel“公式拖动”。您将需要依赖 ROW() 等函数。
  • 您的应用范围是什么:
  • @ScottCraner 是的,正如你所说,我意识到这就是问题所在。我又试了一次,这次突出显示整个范围并使用相同的公式,这次成功了。这对我来说真的没有意义,因为即使整个范围都被突出显示,公式仍然明确表示“K6”和“L6”,所以我真的不知道它是如何知道每次迭代的,但不管我猜什么。
  • 如果您不将公式中的范围设为绝对范围,则条件格式将根据左上角单元格更改引用。如果您的“应用于:”中有多个列,则您可能希望该列成为绝对引用的一部分。
  • 所以你说它真的应该是:=AND($K$6<=1638, $L$6=0 ?

标签: excel conditional-formatting


【解决方案1】:

您是否尝试过使用如下条件格式?

我简化了示例中的公式,但也适用于您的情况。
在我看来,对于大范围来说,它比 Format Painter 更实用。

公式=A2 > 4 对单元格A2 进行了硬编码,但它在应用于单元格A6A7 等时会神奇地起作用。Excel 使用此公式与范围中的第一个单元格相关,所以如果您想突出显示列A 中大于列B 的单元格,并且您的范围从A2 开始,那么您的公式将为= A2 > B2

【讨论】:

  • 是的,事实证明这是你必须做的。
  • 公式=A2 > 4 对单元格A2 进行了硬编码,但它在应用于单元格A6、A7 等时会神奇地起作用。但它从未解释过它是如何工作的。如果我真的想要拥有对A2而不是A{row}的固定引用怎么办?反之亦然?
  • Excel 使用此公式与范围中的第一个单元格相关,因此如果您想突出显示 A 列中大于 B 列的单元格,并且您的范围从 A2 开始,您的公式将是= A2 > B2.
  • @Dai 固定(又名绝对)引用使用 $ 符号。所以 $A$1 总是指完全 A1 。
【解决方案2】:

我建议选择 K 列和 HOME > 样式 - 条件格式、新规则...、使用公式确定要格式化的单元格在此公式为真的情况下设置值:

=AND(K1<=1638,L1=0)

Format...,选择格式选择OKOK

当规则显示在条件格式规则管理器中时,它适用于应用于范围的左上角单元格。 CF 实际上通过范围调整单元格引用自动评估评估者,就像他们在其他地方适应一样(即,当向下 K 列时,K1 向前滚动到K2 等,而K$1 将保持为K$1)。

【讨论】:

    【解决方案3】:

    您可以利用OFFSET()ROW() 函数进行所需的条件格式化,以便您的

    =AND(K6<=1638, L6=0)
    

    变成这样:

    =AND(OFFSET(K6,ROW()-6,0)<=1638, OFFSET(L6,ROW()-6,0)=0)
    

    -6 替换为您需要的行偏移值。

    因此,例如,如果您将此公式输入到行6 的某个单元格中,它将分别查看K6L6,因为ROW()-6 的计算结果为0——因此没有应用偏移量。

    然后在7 行中,SAME 公式将查看K7L7,因为ROW()-6 的计算结果为1,这意味着在K6 和@987654337 下方偏移一行@。

    【讨论】:

    • 这比仅仅了解条件格式如何以及何时更改相对引用要复杂得多。
    • 据我所知,条件格式不考虑相对引用。
    • 是的,它基于左上角的单元格作为基本单元格。然后任何相对参考将根据单元格相对于基本单元格的位置而改变。因此,如果您执行 =$A1=100 并将其应用于 B:C 每次 A 列中的值 = 100 B 列和该行中的 C 列将返回 true 并突出显示。
    • 由于@ScottCraner 讨论的原因,我投了反对票。使用 OFFSET 是个坏建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 2015-12-11
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多