Excel公式Iferror

时间:2013-03-29 22:23:30

标签: excel formula

我有一个下拉列表(数据验证),它使用vlookup填充其他单元格,从单独的工作表中提取数据。如果字段为空,如“未输入数据”,我想要包含错误消息。但是,我得到了“0”。这是我使用的公式:

=IFERROR(VLOOKUP(ChildName,Children,6,FALSE),"No data entered") 

然后我将其更改为ISERROR:

=IF(ISERROR(VLOOKUP(ChildName,Children,5,FALSE))=FALSE,"No data entered", VLOOKUP(ChildName,Children,5,FALSE))

这会适当地给出错误消息,但现在我的下拉列表不会填充其他单元格! 我究竟做错了什么?谢谢!

1 个答案:

答案 0 :(得分:2)

看看你的公式,我看到两个值得注意的要点:

    <击>
  1. 在IFERROR中你返回第6列,在ISERROR,第5列!
  2. 在ISERROR中
  3. ,当您找到某些内容时,会显示错误消息,正如您所说的=IF(ISERROR=FALSE,ErrorMsg,...)!    要解决您的问题,只需使用以下公式:
    =IF(ChildName="","No data    entered",IFERROR(VLOOKUP(ChildName,Children,6,0),"Cannot find    "&ChildName))
  4. 啊,我明白了!看看这个问题 - Have Excel formulas that return 0, make the result blank。它显示了各种方式。

    我最喜欢的是=IFERROR(1/1/VLOOKUP(ChildName,Children,6,0),"No data!")。仅适用于数字。

    否则,请使用=IF(VLOOKUP(ChildName,Children,6,0),VLOOKUP(ChildName,Children,6,0),"No data!")

    为了安全起见,此版本应该处理所有潜在问题:=IFERROR(IF(VLOOKUP(ChildName,Children,6,0),VLOOKUP(ChildName,Children,6,0),"No data!"),"No data!")