存在间接问题的 If 语句

存在间接问题的 If 语句

我的工作表将 I1 设置为其他选项卡的下拉框。A1 和 B1 公式有效,并从选项卡中的单元格中提取信息(如果有信息),单元格的公式略有变化,但您可以从中得到一些启发。

=IF(INDIRECT("'"&I1&"'!"&"A1"),INDIRECT("'"&I1&"'!"&"A1"),"")

我的 C1 给我带来了问题。

=IF(INDIRECT("'"&I1&"'!"&"C2"),"Yes","No")

如果引用的 C 单元格中没有信息,则它会显示“否”。如果那里有任何文本,我会收到错误#Value!。两个单元格都设置为常规。我已经为此奋斗了大约一个小时,但我还是被卡住了。我该如何解决这个问题?

答案1

在 IF 中,您不会将单元格与任何东西进行比较。IF 的第一个参数应为逻辑项(真或假),然后 IF 会相应地采用第二个或第三个参数。

INDIRECT("'"&I1&"'!"&"C2")将产生该单元格的内容,但你没有告诉它IF如何处理它。因此它会尝试转变该单元格的内容为truefalse- 如果单元格为空,则变为false,如果单元格包含文本,则无法转换并给出#VALUE!

如果您不关心文本本身而只想检查它是否存在,请与空字符串进行比较:

=IF(INDIRECT("'"&I1&"'!"&"C2")<>"","Yes","No")

否则,与您想要比较的任何内容进行比较。

相关内容