这是 Excel 2016。
我正在使用工作簿来管理一些个人工作流程跟踪,并且我有将 H 列单元格标记为“True”、“False”或具有零字符串(“”)的切换开关,并且我无法让单元格公式将“”视为“”,以便清除工作单元格。
我目前正在使用这个
=IF(H1=TRUE,"Tested",IF(H1=FALSE,"Not Tested",IF(H1="","")))
但它不起作用。
如果 H = True,它会将“已测试”打印到包含公式的单元格,并使用应用于整行的条件格式将该行变为绿色
如果 H = False,它会将“未测试”打印到包含公式的单元格,并使用应用于整行的条件格式将该行变为黄色
但是如果 H 为空白或包含零个字符串,则它不会打印零个字符串,也不会更改包含公式的单元格的内容,单元格仍包含最后打印的内容。但是,应用于整行的条件格式仍然会将其变为蓝色,并且引用单元格是行 H 列单元格,它检查的引用是“”。因此,很明显在该单元格中看到的是“”,否则条件格式将不适用。
鉴于我使用完全相同的单元格状态检测来设置单元格的条件格式,并且使用条件格式公式,它确实将 H 视为零字符串,我知道 Excel 将 H 识别为具有零字符串。
=$H1=""
这是我用来针对三个州中的每个州更改相关行的格式的方法,您可以在图片中看到它显然在发挥作用。
当我使用切换按钮将零个字符串打印到 H 时,这确实会将条件格式应用于所需的单元格,因此我知道切换按钮实际上是将零个字符串打印到 H 并且 Excel 将其视为包含零个字符串,那么为什么依赖于完全相同状态的单元格公式也不会触发?
答案1
当您使用公式时,IF(H1=FALSE,[VALUE IF TRUE],[VALUE IF FALSE])
公式会检查FALSE
中的 或空白单元格H1
。
如果您希望保留当前要求,请在开头将 if 留空。
=IF(IF(H1="","",IF(H1=TRUE,"Tested",IF(H1=FALSE,"Not Tested","ERROR")))
“错误”位将突出显示单元格中的错误H1