您的位置:首页 > 其它

怎样消除vlookup找不到目标时出现的#N/A

2016-12-12 15:20 211 查看
iamlaosong文

先说一个应用场景吧,需要将两张统计表合并,两张统计表中的条目(比如城市名称吧)顺序可能不一致,这时可以用vlookup函数通过城市名称将另一张表的数据引入本表,但是,如果碰到另一张表中城市名称不存在,则vlookup函数会返回#N/A,过去我们都用IF加ISNA两个函数判断来取消这个#N/A,公式大致如下:

=IF(ISNA(VLOOKUP($L6,$A$6:$G$21,2,0)), 0, VLOOKUP($L6,$A$6:$G$21,2,0) )

公式的意思是如果有错,就用0,正常则取查询值。但看这个公式,总觉得别扭,因为很不经济,为了判断需要查询两次,一次用于判断,一次用于取值,如果数据量大的话,估计工作表的反应会比较慢。

2007版增加了一个iferror函数,公式顿时简单多了,效率也高了,真正实现了有值取值,有错替换,公式如下:

=IFERROR(VLOOKUP($L6,$A$6:$G$21,2,0),0)

两张表合并时往往需要取多行多列值,为了方便公式复制,上面的列号和范围都用了绝对引用,这样就可以向下复制了。为了可以横向复制,可以用列号column函数代替上面的取多少列的参数,这样就可以横向复制了:

=IFERROR(VLOOKUP($L6,$A$6:$G$21,COLUMN()-13,0),0)

其中的13是因为两表对应项列号不同,通过它对列号进行调整,如下图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐