条件格式无法在Google电子表格中使用

我写了一个公式:

=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. 为了testing是否与其他格式规则冲突,我只是删除了公式,并在自定义公式列中写下了“true”。 整行被格式化。 我把公式粘贴到一个单元格中,这也是真的。 如何在单元格中返回true的格式在条件格式中返回false?
  4. 我将公式应用于没有其他条件格式规则的单元格。 该公式不起作用。 那么A2和B2细胞的公式是如何工作的呢?
  5. 我尝试使用除真/假以外的值。 通常情况下,它在单元格中完美工作,但不是条件格式。
  6. 即使在新的电子表格中也不行。

请自己检查一下。 要从公式中获得“True”值,请在d2和e2中input0,并确认条件格式不符合该条件。

提前感谢您花时间阅读这个问题。

公式仅适用于单元格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))