【问题标题】:Excel Conditional Formatting - Containing Multiple MatchesExcel 条件格式 - 包含多个匹配项
【发布时间】:2018-06-01 15:32:55
【问题描述】:

尽量避免使用 VBA 并使用一个条件格式规则。

我想对包含一个或多个可能短语的单元格应用一种格式。

   |   A    |
---+--------+---
 1 | foo    |
 2 | bar    |
 3 | foobar |
 4 | baz    |
 5 | foobaz |
 6 | qux    |
 7 | barqux |

目标:将条件格式应用于“foo”和“baz”(第 1、3、4、5 行)

类似下面的方法应该可以工作,但我认为问题在于识别要比较的当前单元格,在这种情况下,A1:A7 需要是当前单元格引用:

=OR( IFERROR(FIND("foo",A1:A7),0) > 0, IFERROR(FIND("baz",A1:A7),0) > 0 )

有什么想法吗?

【问题讨论】:

    标签: excel conditional-formatting


    【解决方案1】:

    我找到了答案。

    即使条件格式已应用于 $A$1:$A$7 范围,您只需引用函数中的第一个单元格即可。

    =OR( IFERROR(FIND("foo",A1),0) > 0, IFERROR(FIND("baz",A1),0) > 0 )
    

    只要您不使用锁定运算符 ($),它就会自动递增。 - 对不起,如果这是常识。如果没有人有问题,我将把它留在这里用于教育目的。

    【讨论】:

      【解决方案2】:

      你完全正确。您必须输入对“选定”单元格的引用。例如。如果单击单元格 A1,然后拖动并选择单元格 A1..A7,您将看到 A1 的背景与其他单元格不同。这是条件公式的当前单元格。即

      =OR( IFERROR(FIND("foo",A1),0) > 0, IFERROR(FIND("baz",A1),0) > 0 )
      

      在这种情况下是正确的。对于其他单元格,公式将相应调整。

      【讨论】:

      • 我最近一直在做这么多的数据库工作,我不知道这是否是常识。你怎么看?我只会制作一个 VBA 宏,但我计划与可能启用了安全性的人共享它。如果您经常使用 C 格式,我认为这是常识,但是我在帮助中看到的所有示例都没有描述这一点,而且我在 SO 或 Experts Exchange 上找不到它。
      • 其实我也不知道为什么知道这个。尽管如此,它经常帮助我,您可以使用条件格式中的相对或绝对引用解决各种问题。参考单元格不一定在您选择的范围内。例如。使用公式 =$A1="XYZ" 您可以根据单个列的内容格式化完整的行,或者使用 =A1=MAX($A$1:$A$7) 您可以标记列表中的最大值。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-04
      • 2019-10-22
      相关资源
      最近更新 更多