如何在命名范围内有多个 if 语句

How to have multiple if statements within named range

我想了解如何在一行中编写以下 if 语句。不幸的是,IF 语句单独工作,但每当我组合它时,它都会给我一个#VALUE 错误。

=IF(A1=OUT,C1,IF(A1=INT,C1,IF(A1=IN,C1,"Not Found")))

OUT、INT 和 IN 都是我文件中的命名范围,我已经找出了出现错误的原因,我认为这是因为第一个语句不正确,而且据我所知,它不是进入公式的下一部分。

我遇到的问题是,当我到达单元格 A8 时,此单元格中的值现在属于命名范围 INT,此时公式显示 #VALUE 错误。

如果有人能告诉我哪里出了问题以及如何解决这个问题,我将不胜感激。

提前致谢。

顺便说一下,以下是我文件中的命名范围:

A1:A7 = OUT 
A8:A10 = INT 
A11:A17 = IN

结果在以下范围内:

C1:C7 = Lose
C8:C10 = Draw 
C11:C17 = Win 

我希望公式执行的操作是,如果我在 A 列中的任何值属于任何命名范围,我希望它显示正确的结果。

例如,单元格 A8 的值为 "A8",它属于命名范围 INT,因此我希望 IF 语句起作用,以便它显示值 Draw。如果我在单元格 A11 中,它的值 "A11" 属于命名范围 "IN" 因此我希望公式向我显示值 Win.

以下是我的文档图片。

if 语句只会查看命名范围中的第一个值。您需要使用 Something 来迭代或搜索范围:

=IF(OR(ISNUMBER(MATCH(A1,OUT,0)),ISNUMBER(MATCH(A1,IN,0)),ISNUMBER(MATCH(A1,INT,0))),C1,"Not Found")

但这将始终 return 为真,因为被测试的值在被引用的命名范围内。因此,更简单的公式将给出相同的结果。

=C1

在命名范围内搜索时,如果未找到搜索项,excel 将return 出错。所以第 8 行的 A8=OUT 计算出错误,第 10 行的情况也是如此。因此,如果您检查搜索错误,这将得到修复。您可以使用以下方法解决此问题。在第一行 (D1) 使用此公式并将其复制到其余单元格。

=IF(IFERROR(A1=OUT,FALSE),C1,IF(IFERROR(A1=INT,FALSE),C1,IF(A1=IN,C1,"Not Found")))