我的工作表将 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
如何处理它。因此它会尝试转变该单元格的内容为true
或false
- 如果单元格为空,则变为false
,如果单元格包含文本,则无法转换并给出#VALUE!
。
如果您不关心文本本身而只想检查它是否存在,请与空字符串进行比较:
=IF(INDIRECT("'"&I1&"'!"&"C2")<>"","Yes","No")
否则,与您想要比较的任何内容进行比较。