=IFERROR(VLOOKUP(A5,Sheet2!$A$1:$B$5,2,FALSE),"") 这个函数错在哪里?excel中的

我是想匹配2个表中的相同列,同时想把新得到的表中错误数据(#N/A)过滤掉!或者你有更好的过滤方法!
谢谢大家了 函数的问题本身没有错,最后一位朋友解决了我的问题,我的本意是想把得到的那个新表中含#N/A的行删掉,用自动筛选可以很方便的删除!
谢谢大家的帮忙,但是分只能给一个人……

这个函数=IF(ISERROR(VLOOKUP(A5,Sheet2!$A$1B$5,2,FALSE)),"",VLOOKUP(A5,Sheet2!$A$1B$5,2,FALSE))
或者利用自动筛选删除带#N/A的行
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-03
=if(iserror(VLOOKUP(A5,Sheet2!$A$1:$B$5,2,False)),"",VLOOKUP(A5,Sheet2!$A$1:$B$5,2,False))
第2个回答  2010-08-27
这个公式没错啊。 两个函数用法都正确
不过IFERROR这个函数是07才有的,如果你是03,可能需要在工具-加载宏中加载某些组件。
第3个回答  2010-08-25
改为:=IF(ISERROR(VLOOKUP(A5,Sheet2!$A$1:$B$5,2,FALSE),"",VLOOKUP(A5,Sheet2!$A$1:$B$5,2,FALSE))
第4个回答  2010-08-25
=IF(ISERROR(VLOOKUP(A5,Sheet2!$A$1:$B$5,2,FALSE),"")
第5个回答  2010-08-22
楼主的原公式理论上是没有错误的:
=IFERROR(VLOOKUP(A5,Sheet2!$A$1:$B$5,2,FALSE),"")
在2007中为了避免2003中vlookup查找不到时的返错情况专门新列函数:
IFERROR来解决,只不过该函数仅可用于2007及以上版本,2003中不可识别或直接导致公式返回错误。
2003中为达到该效果,需要添加if与iserror函数来综合判断写为:
=IF(ISERROR(VLOOKUP(A5,Sheet2!$A$1:$B$5,2,FALSE)),"",VLOOKUP(A5,Sheet2!$A$1:$B$5,2,FALSE))
它在作用原理上与
=IFERROR(VLOOKUP(A5,Sheet2!$A$1:$B$5,2,FALSE),"")
等效
但是前者可以用于2003及以上版本
后者仅可用于2007及以上版本,用在2003就会出错
通过比较公式的长短与复杂程度你也可以看出2007新列此函数的目的就是为了方便与简化,应该说是有很大的提高与进步的,同时也方便了操作者。

如果你的公式报错极有可能是你将其放在2003中使用,这当然是不行的,IFERROR仅适用于2007及以上版本,2003中还是老老实实输入:
=IF(ISERROR(VLOOKUP(A5,Sheet2!$A$1:$B$5,2,FALSE)),"",VLOOKUP(A5,Sheet2!$A$1:$B$5,2,FALSE))

祝你成功!
相似回答