条件格式在 Google 电子表格中不起作用
Condition Formatting not Working in Google Spreadsheet
我写了一个公式:
=IF(len(d2)>0,IF(d2=0,true,false),IF(len(e2)>0,IF(e2=0,true,false),false))
如果公式 returns 为真,我想删除整行。但它不起作用。恼人的事实是:
- 如果我将此公式放入单元格,它会显示正确的真值或假值。
- 如果我对整行应用这个公式,只有 A2 和 B2 单元格被格式化。
- 为了测试是否和其他格式规则有冲突,我直接去掉了公式,在自定义公式栏里写了"true"。整行都被格式化了。我将公式粘贴到一个单元格中,它也返回 true。在单元格中返回 true 的公式如何在条件格式中返回 false?
- 我将公式应用于没有其他条件格式规则的单元格。该公式不起作用。那么该公式如何适用于 A2 和 B2 细胞?
- 我尝试使用 true/false 以外的值。与往常一样,它在单元格中运行良好,但在条件格式中运行不佳。
- 即使在新电子表格上也无法正常工作。
请自行查看。要从公式中获取 "True" 值,请在 d2 和 e2 中输入 0 并自行查看条件格式是否符合它。
提前感谢您花时间阅读问题。
公式只适用于单元格A2
和B2
的原因是因为公式中的D2
和E2
是相对的 引用,这意味着公式中的这些单元格随着应用条件格式的单元格的移动而移动。
换句话说,单元格 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))
大概 F2
和 G2
都不包含您要查找的数据,这就是不应用条件格式规则的原因。
要解决此问题,您可以将公式更改为 绝对 引用,以便它始终引用 D
和 E
列,如下所示:
=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))
我写了一个公式:
=IF(len(d2)>0,IF(d2=0,true,false),IF(len(e2)>0,IF(e2=0,true,false),false))
如果公式 returns 为真,我想删除整行。但它不起作用。恼人的事实是:
- 如果我将此公式放入单元格,它会显示正确的真值或假值。
- 如果我对整行应用这个公式,只有 A2 和 B2 单元格被格式化。
- 为了测试是否和其他格式规则有冲突,我直接去掉了公式,在自定义公式栏里写了"true"。整行都被格式化了。我将公式粘贴到一个单元格中,它也返回 true。在单元格中返回 true 的公式如何在条件格式中返回 false?
- 我将公式应用于没有其他条件格式规则的单元格。该公式不起作用。那么该公式如何适用于 A2 和 B2 细胞?
- 我尝试使用 true/false 以外的值。与往常一样,它在单元格中运行良好,但在条件格式中运行不佳。
- 即使在新电子表格上也无法正常工作。
请自行查看。要从公式中获取 "True" 值,请在 d2 和 e2 中输入 0 并自行查看条件格式是否符合它。
提前感谢您花时间阅读问题。
公式只适用于单元格A2
和B2
的原因是因为公式中的D2
和E2
是相对的 引用,这意味着公式中的这些单元格随着应用条件格式的单元格的移动而移动。
换句话说,单元格 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))
大概 F2
和 G2
都不包含您要查找的数据,这就是不应用条件格式规则的原因。
要解决此问题,您可以将公式更改为 绝对 引用,以便它始终引用 D
和 E
列,如下所示:
=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))