【问题标题】:Why does this excel formula return different results for conditional formatting?为什么这个 excel 公式会返回不同的条件格式结果?
【发布时间】:2016-01-11 00:03:53
【问题描述】:

这是一些演示数据:

您可以看到 B 列中使用的公式对于任何连续重复都返回 TRUE,但是当用作 $A$1:$A$14 的 CF 条件时,它会返回不同的结果?

这是 CF 设置:

【问题讨论】:

  • (问题+1)在B1中,公式指的是其左侧的单元格(当它指代A1时)但是当CF规则在A1中时,它是(有点)设置循环引用(这在 CF 规则中似乎没问题)。我不完全理解这里发生了什么,但我认为这与此有关。
  • 是的,我的理解也是循环引用在 CF 规则中很好......我会继续玩它,但现在它让我很难过......
  • 是的,它看起来确实很神秘。
  • 问题是IFERROR 在条件格式中不能正常工作。但是A1 真的应该是TRUE 吗?为什么不简单地将=INDIRECT("A"&ROW(A1)-1)=A1=(A1048576=A1) 作为条件?
  • @AxelRichter 因为这适用于每个单元格除了 A1,在这种情况下,它应该作为连续集合的一部分包含在内。这就是为什么 A1 确实应该是真的。

标签: excel excel-formula conditional-formatting


【解决方案1】:

这也可能对您有所帮助。它也适用于整列。

=IF(A1="","",OR(A1=A2,A1=IFERROR(OFFSET(A1,-1,0),"")))

【讨论】:

  • 所以问题不是IFERROR,而是INDIRECT("A"&ROW(A1)...)。因为OFFSET 会起作用。但是IF 在条件格式中不是必需的。 =AND(A1<>"",OR(IFERROR(OFFSET(A1,-1,0)=A1,FALSE),A1=A2)) 也可以。
  • 我使用if() 为整列A:A 工作。如果您不使用if(),那么它将突出显示所有空单元格。否则必须使用=AND(A1<>"" 处理空单元格您已经在评论中提到。
【解决方案2】:

因此,如果前任或后继的值相同,则条件应为真。

在条件格式中,您可以将行号视为循环。所以A1的前身是A1048576A1048576的后继是A1

列号也是如此。在XFD 之后跟随A

所以你的条件格式公式是:

=OR(A1048576=A1,A1=A2)

=AND(A1<>"",OR(A1048576=A1,A1=A2))

用于排除空单元格。

作为工作表公式,这将不起作用。那里

=OR(IFERROR(INDIRECT("A"&ROW(A1)-1)=A1,FALSE),A1=A2)

需要。

【讨论】:

  • Within conditinal formatting you can think about the row numbers as circular.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-13
  • 1970-01-01
  • 2013-02-20
  • 1970-01-01
  • 1970-01-01
  • 2013-08-14
相关资源
最近更新 更多