【问题标题】:Excel Formula vs Formula used in conditional formatExcel 公式与条件格式中使用的公式
【发布时间】:2018-03-08 10:00:52
【问题描述】:

我有一个正确返回 true 的 excel 公式。但是当我以条件格式使用相同的公式时,我无法获得条件格式。请帮忙。

=AND(FIND("MyText",INDIRECT(ADDRESS(1,COLUMN()))),INDIRECT(ADDRESS(ROW()+2,COLUMN()))=1)

如果列的第一个单元格是“我的文本”并且值为 1(在第 +2 行,同一列中),则公式正确返回 true。如果我以条件格式使用它来绘制前景色,则它不起作用。我也试过搜索和搜索b。但是没有用。可能值为 1 的单元格(行()+2,列)的格式是“常规”

【问题讨论】:

    标签: excel-formula


    【解决方案1】:

    如果改成R1C1 reference style,可以输入公式为=AND(R1C="MyText", R[2]C=1)

    R1 表示第 1 行,C 表示同一列,R[2] 表示当前单元格下方 2 行。

    A1 引用样式中,公式将取决于当前活动的单元格,因此如果活动单元格为A1,则公式将为=AND(A$1="MyText", A3=1)

    【讨论】:

    • 谢谢。不幸的是,我正在通过程序生成我的 excel 文件,不得不求助于 address(row(), column()) 方法。但是对于手动创建的 Excel,您的仍然是一个有效的解决方案。
    • @NSN 没有区别(除非使用非英语 Excel stackoverflow.com/questions/23649293/…)。像 INDIRECT 这样的易失性函数效率低下,因为它们必须重新计算比需要的更多msdn.microsoft.com/en-us/library/office/…。例如,您可以使用 INDEX(1:1, 1, COLUMN()) 而不是 INDIRECT(ADDRESS(1,COLUMN()))
    【解决方案2】:

    不知道为什么这不起作用。但是您可以简单地将AND 函数替换为*。您可以尝试以下方法:

    =FIND("MyText",INDIRECT(ADDRESS(1,COLUMN())))*INDIRECT(ADDRESS(ROW()+2,COLUMN()))=1
    

    【讨论】:

    • 刚刚修改了我的公式以使其更短。
    【解决方案3】:

    我将 AND 更改为 following 并且它起作用了。但不确定条件格式的 AND 有什么问题

    =NOT(ISERROR(SEARCH("MyText",INDIRECT(ADDRESS(1,COLUMN()))))) *间接(地址(行()+2,列()))

    添加以上答案供参考。

    【讨论】:

      猜你喜欢
      • 2014-12-27
      • 1970-01-01
      • 1970-01-01
      • 2014-11-13
      • 2020-10-13
      • 1970-01-01
      • 2017-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多