【问题标题】:Condition Formatting not Working in Google Spreadsheet条件格式在 Google 电子表格中不起作用
【发布时间】:2018-04-12 19:22:27
【问题描述】:

我写了一个公式:

=IF(len(d2)>0,IF(d2=0,true,false),IF(len(e2)>0,IF(e2=0,true,false),false))

如果公式返回 true,我想删除整行。但它不起作用。恼人的事实是:

  1. 如果我将此公式放入单元格中,它会显示正确的真值或假值。
  2. 如果我将此公式应用于整行,则只有 A2 和 B2 单元格被格式化。
  3. 为了测试是否与其他格式规则冲突,我只是删除了公式,并在自定义公式栏中写了“true”。整行都被格式化了。我将公式粘贴到一个单元格中,它也返回了 true。在单元格中返回 true 的公式如何在条件格式中返回 false?
  4. 我将公式应用于没有其他条件格式规则的单元格。公式不起作用。那么该公式如何适用于 A2 和 B2 单元格?
  5. 我尝试使用非真/假值。与往常一样,它在单元格中运行良好,但在条件格式中却不行。
  6. 即使在新的电子表格上也无法正常工作。

请自行检查。要从公式中获取“真”值,请在 d2 和 e2 中输入 0,然后您自己会发现条件格式不尊重它。

提前感谢您抽出时间阅读问题。

【问题讨论】:

    标签: excel formatting formula spreadsheet


    【解决方案1】:

    公式仅适用于单元格A2B2 的原因是因为公式中的D2E2相对 引用,这意味着随着应用条件格式的单元格也发生变化,公式也会发生变化。

    换句话说,单元格A2 认为这是公式:

    =IF(LEN(D2)>0,IF(D2=0,TRUE,FALSE),IF(LEN(E2)>0,IF(E2=0,TRUE,FALSE),FALSE))
    

    而单元格B2 认为这是公式:

    =IF(LEN(E2)>0,IF(E2=0,TRUE,FALSE),IF(LEN(F2)>0,IF(F2=0,TRUE,FALSE),FALSE))
    

    注意公式是如何让单元格移动的。

    当它到达单元格C2时出现问题,它认为公式是这样的:

    =IF(LEN(F2)>0,IF(F2=0,TRUE,FALSE),IF(LEN(G2)>0,IF(G2=0,TRUE,FALSE),FALSE))
    

    大概F2G2 都不包含您要查找的数据,这就是不应用条件格式规则的原因。

    要解决此问题,您可以将公式更改为 绝对 引用,使其始终引用 DE 列,如下所示:

    =IF(LEN($D2)>0,IF($D2=0,TRUE,FALSE),IF(LEN($E2)>0,IF($E2=0,TRUE,FALSE),FALSE))
    

    这样,第二行的所有单元格在检查格式时都会精确地考虑上面的公式(即单元格不会移动)。


    顺便说一句,您的公式的某些部分是多余的。

    = IF(<condition>,TRUE,FALSE)
    

    相当于只是

    = <condition>
    

    此外,如果未指定 IF 语句中的第三个参数,则 FALSE 是默认值。

    话虽如此,这个公式可以简化为:

    =IF(LEN($D2)>0,$D2=0,IF(LEN($E2)>0,$E2=0))
    

    【讨论】:

    • 你是天才。
    • @KunalKhanna 不是天才,我只是在 excel 条件格式方面有很多经验。
    猜你喜欢
    • 2018-12-09
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多