【发布时间】:2022-03-16 05:07:04
【问题描述】:
我有我认为的标准公式,根据我使用的 Excel 版本(Excel 365 或 Excel 2019)的不同,它的行为会有所不同
=IF(F5=$M$1;IFERROR(IF(AND(IFERROR(FIND("CONV";B5;1);"NY");F5=$M$1);"KONV");IF(F5=$M$1;"NY";"ORG"));"ORG")
在下面的两个屏幕截图中,Excel 版本 2019 位于顶部,Excel 版本 365 位于其下方。在第一个屏幕截图中,一切都相同,但在第二张图片中,“NY”在 Excel 2019 中变成了一个错误(这是正确的,也是我想要的),但在 Excel 365 中我得到了一个错误的 TRUE。
我的问题不是要修正公式,让它起作用。相反,我想知道为什么 Excel 365 和 Excel 2019 之间首先存在差异。
【问题讨论】:
-
哇。令人着迷的发现,谢谢。这甚至可能是一个错误——我想不出
AND现在将文本条目视为TRUE的正当理由。其他逻辑函数在 365 中似乎没有这样做:虽然=AND("x",1)返回TRUE(??),=OR("x",0)返回FALSE和=IF("x",1)返回#VALUE!错误。 -
@JosWoolley Excel 不会将文本视为
True,而只是忽略它。=AND("Text",True)将评估为True而=AND("Text",False)将评估为False。 -
@MichaelWycisk 不确定我理解。您给出的示例并不能证明您的假设:它们会产生与
AND将文本解释为TRUE相同的结果。 -
@JosWoolley 没错,我没想到。但是:
=OR("Text",True)也计算为True,而=OR("Text",False)计算为False(如果任何文本被认为是True,最后一个示例应该计算为True- 它不是)。唯一奇怪的是 Excel 2019 和 O365 对它的评估不同。
标签: excel excel-formula