怎样消除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是因为两表对应项列号不同,通过它对列号进行调整,如下图所示:
先说一个应用场景吧,需要将两张统计表合并,两张统计表中的条目(比如城市名称吧)顺序可能不一致,这时可以用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是因为两表对应项列号不同,通过它对列号进行调整,如下图所示:
相关文章推荐
- vmware 安装出现的linux-headers问题,找不到/usr/src/linux/include这个目录
- 如果快递机器人出现在中国,会怎样?
- 0X8009310B (ASN:276) win7安装证书时出现错误消息:"找不到与此证书文件相关联的证书申请"微软官方文档
- 解决Android 5.0以下出现 java.lang.NoClassDefFoundError,找不到类
- 在weblogic中使用hibernate时出现了找不到类的异常
- eclipse中安装adt出现了duplicate location错误怎样解决
- Android Studio 新建 NDK Javah生成JNI头文件出现找不到类的错误
- .net 中使用Excel library 11.0 COM Workbooks.Open 出现错误:System.MissingMethodException: 找不到方法
- Cadence Orcad 无法启动出现Capture.exe找不到cdn_sfl401as.dll问题
- 在搭建ssh框架时,出现找不到该org.springframework.web.context.ContextLoaderListener类
- Maven管理启动Tomcat时出现无效的目标发行版本
- 怎样防止无线路由器出现故障
- EXCEL导入到SQL Server经常出现“文本被截断,或者一个或多个字符在目标代码页中没有匹配项”错误的解决
- Candence Orcad 无法启动出现Capture.exe找不到cdn_sfl401as.dll问题
- 调用PanelDesigner类时出现找不到命名空间的解决
- 关于Pro*C出现找不到头文件的错误解决
- 安装好scala后出现“找不到或无法加载主类”的问题
- javac 预编译package情况出现“找不到或无法加载主类 Hello2”
- 向SQL2005导入Excel数据出现“文本被截断,或者一个或多个字符在目标代码页中没有匹配项”的错误0xc020901c
- Javac 出现找不到符号,符号:类名**