我用VLOOKUP()
它来填充几个单元格,但当查找表中不存在该值时,我希望单元格显示原始内容,通常为空。但是,当单元格中没有任何内容时,我的公式会返回 0
为什么我的公式返回 0 而不是原始空白单元格值(如何让它返回原始单元格值)?
=IF(K14<>"",VLOOKUP(K14,Sheet132!$A$2:$E$333,3,FALSE),K14)
输入这个公式出现错误,但点击确定却显示0?
小心,我们在您的工作簿中发现一个或多个循环引用,这可能会导致您的公式计算不正确
编辑IF()
如果我能让它显示除 0 之外的其他内容, 我甚至会接受语句文本为“不在查找列表中”
答案1
这就是 EXCEL 的行为方式。你可以通过以下方式轻松看到这种行为:
- 确保单元格
A1
是空白的。 - 将此公式代入
B1
:=A1
- 注意 B1 如何显示值“0”。
- 将此公式代入
C1
:=IF(ISBLANK(A1),"",A1)
您可以在原始查询中使用类似的 ISBLANK 检查。
=IF(K14<>"",VLOOKUP(K14,Sheet132!$A$2:$E$333,3,FALSE),if(isblank(K14,"",K14)))
[编辑]
但是,检查实际的 VLOOKUP 是否为空意味着复制 VLOOKUP,这有点糟糕。因此,我通常将其放在自己的单元格中(假设L14
),然后您得到:
L14: =VLOOKUP(K14,Sheet132!$A$2:$E$333,3,FALSE)
然后上面的功能变为:
=if(ISERROR(L14),if(isblank(K14),"",K14),L14)
答案2
这个问题有三个步骤
- 如果 vlookup 失败,则使用 if 错误,否则使用 vlookup
- 如果有东西,则输出 K14
- 如果 k14 中没有任何内容,则为空白
原来的
- =IF(K14<>"",VLOOKUP(K14,Sheet132!$A$2:$E$333,3,FALSE),K14)
修改的
- =+IFERROR(VLOOKUP(K14,Sheet132!$A$2:$E$333,3,FALSE),IF(K14="","",K14))