【问题标题】:How to address the current cell in conditional format custom formula?如何以条件格式自定义公式处理当前单元格?
【发布时间】:2016-05-19 21:57:20
【问题描述】:

我需要使用自定义公式编写条件格式规则,当某个单元格(当前单元格列的第 3 行中的单元格)值为"TODAY()" 并且当前单元格为 @ 时应该触发987654325@。我知道如何检查另一个单元格,但是有没有办法在同一规则中检查当前单元格的值?

正如您在这张图片中看到的,一列具有不同的颜色,因为当前单元格的列的第 3 行包含当前日期。并且只有空单元格是彩色的。

这是我的规则:

=and($3:$3=TODAY(), ????)

它应该适用于A4:M10范围内的所有单元格

我需要它是一个规则,而不是多个规则的组合。我需要在????的地方放一些东西

换句话说,我需要将描述为“单元格为空”的值作为它的一部分放在自定义公式中。

这是一个示例电子表格:https://docs.google.com/spreadsheets/d/1vpNrX2aUg8vY5WGDDuBnLfPuL-UyrjFvzjdATS73aq8/edit?usp=sharing

【问题讨论】:

  • 您示例中的 2 个表格在我的 google 电子表格 android 应用上看起来完全一样,不确定是什么问题
  • 我有一个与 Android 无关的问题,抱歉。区别在于一列的颜色
  • 啊。我现在甚至可以在 android 中看到它。当时的问题是关于所有相同的非空单元格......稍后再看看

标签: google-sheets gs-conditional-formatting


【解决方案1】:

当前单元格由条件格式中范围的第一个单元格寻址。在您的示例中,范围是 A4:M10,因此您可以使用 A4 作为“当前单元格”。

  • 检查空内容:

    =A4=""
    


条件格式中的相对引用与绝对引用 just like copying a formula
  • 检查当前列行第二行的单元格是今天:

    =A$2=TODAY()
    
  • 使用AND 运算符组合:

    =AND(A$2=TODAY(), A4="")
    

我已更新您的示例电子表格的副本 - https://docs.google.com/spreadsheets/d/1MY9Jn2xpoVoBeJOa2rkZgv5HXKyQ9I8SM3kiUPR9oXU/edit#gid=0

【讨论】:

    【解决方案2】:

    如果我想检查当前单元格是否为空,这对我有用:

    =ISBLANK(INDIRECT(ADDRESS(ROW(),COLUMN())))
    

    列中上一行的单元格将是

    =ISBLANK(INDIRECT(ADDRESS(ROW() - 1,COLUMN())))

    【讨论】:

    • 您还需要启用“迭代计算”。请转到文件 > 电子表格设置并在 Calculation 选项卡 Iterative Calculation 上启用
    • 我使用;而不是,来分隔参数
    【解决方案3】:

    这是我发现以跨越一个范围的条件格式引用当前单元格的最短方法:

    INDIRECT("RC",FALSE)

    文档是here

    【讨论】:

    • 这看起来像是在条件格式中使用“此单元格”的最优雅的方式,我喜欢它。但是,我找不到任何地方说使用没有任何数字的“RC”会达到你的预期。 它有效,但我在文档中看不到它,包括您在此处链接到的文档!是什么让你甚至尝试它?
    • 我不记得了,而且 R1C1 的起源很古老,所以我还没有找到任何正式的规范。我可能是在网上搜索时发现的,这里有一篇提到“RC”方法的文章示例:powerspreadsheets.com/r1c1-formular1c1-vba ['...最后,如果您指的是单元格本身(创建循环引用),则第一部分单元格引用的只是“R”...']
    【解决方案4】:

    好的,我自己找到了答案。正确的完整公式是:

    =and($2:$2=TODAY(),INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE)="")
    

    这条规则:

    INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE)=""
    

    检查当前单元格是否为空。

    【讨论】:

      【解决方案5】:

      尝试应用到范围:

      A3:M10
      

      自定义公式为:

      =$2:$2=TODAY()
      

      【讨论】:

      • 不,3:3 只会检查一个单元格,我需要检查一个范围内的所有单元格
      【解决方案6】:

      在您的自定义函数中重写原始条件格式范围。然后,电子表格应用程序将采用当前单元格。结果,您的公式将是这样的

      =function(A4:M10)
      

      根据需要应用转换以使结果为真/假。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-07
        • 2019-08-14
        • 1970-01-01
        • 2015-03-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多