我有一个下拉列表(数据验证),它使用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))
这会适当地给出错误消息,但现在我的下拉列表不会填充其他单元格! 我究竟做错了什么?谢谢!
答案 0 :(得分:2)
看看你的公式,我看到两个值得注意的要点:
=IF(ISERROR=FALSE,ErrorMsg,...)
!
要解决您的问题,只需使用以下公式:=IF(ChildName="","No data entered",IFERROR(VLOOKUP(ChildName,Children,6,0),"Cannot find "&ChildName))
我最喜欢的是=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!")