为什么这个 IF、OR、AND 函数在 A848 中没有返回 TRUE?
参见下图来查看屏幕截图。
我使用此算法在 colF-Body 列中搜索“ not ”和“ valid ”、“ not valid ”和“ invalid ”。假设其中一个词存在于 colF - Body 中,如果 colD-Change in address 为 TRUE,我希望算法返回 FALSE,如果为 FALSE,则返回 TRUE。
为什么这种方法在两种情况下都返回 FALSE?
公式输入到 colA - 无效
=IF(OR(
AND( ISNUMBER( SEARCH(" not ",F2)+SEARCH(" valid",F2)), D848= "FALSE" ),
AND( ISNUMBER( SEARCH("not valid",F2) ), D848 = "FALSE" ),
AND( ISNUMBER( SEARCH("invalid",F2) ), D848 = "FALSE" )
),"TRUE","FALSE")
答案1
问题解决了!Excel 将 FALSE 和 TRUE 单元格(即使以字符串形式输入)解释为布尔语句。当我在 FALSE 两边加上引号时,Excel 感到困惑,无法注册布尔逻辑。当我去掉引号时,它表现得如预期一样 - 当仅有的错误的。
简化逻辑:
=IF( AND( ISNUMBER( SEARCH("invalid",F849)), D849=FALSE), "TRUE", "FALSE")