带有 SEARCH 的 IFS 语句未按预期工作

带有 SEARCH 的 IFS 语句未按预期工作

有人能弄清楚这是哪里出了问题吗?

=IFS(SEARCH("¬",C2),C2,SEARCH("¬",D2),D2)

¬ 符号代表获胜的两人队伍,位于 C 和 D 列。如果该符号位于 C 队伍的列中,则有效,否则无效。同样,如果我在公式中翻转 C2 和 D2 的实例,如果满足第一个条件,即 D 队伍有 ¬,则有效。

这里

答案1

IFS 从左到右评估条件列表。如果条件为 FALSE,则评估下一个条件。一旦遇到 TRUE 条件,它就会返回相关结果。但是一旦遇到错误,它就会停止并返回错误结果。

在您的示例中,第 4 行之所以有效,是因为它遇到了第一个条件 TRUE,返回结果并停止。在前两行中,SEARCH 在评估第一个条件时未找到目标文本,因此 SEARCH 返回错误。这导致 IFS 停止并显示错误。

如果未找到目标,您可以通过让 SEARCH 返回 FALSE 而0不是错误来修复此问题。通过用 IFERROR 包装 SEARCH 表达式来实现。它看起来如下:

=IFS(IFERROR(SEARCH("¬",C2),0),C2,IFERROR(SEARCH("¬",D2),0),D2)

相关内容