VLOOKUP之深入解析查询过程中#N/A出现的N种原因(二)
想第一时间收到最新知识,可关注微信公众号:黑米粥的世界。
欢迎加入QQ群:782200398获取案例
昨天给大家分享了VLOOKUP函数的两种基础用法:精确查找与模糊匹配,还没掌握的小伙伴点此回顾:
全面掌握VLOOKUP函数各类用法(一)
在使用Vlookup函数时,经常会出现错误值#N/A。那么究竟出现#N/A的原因是什么,我们应该从哪些方面去排查错误呢?接下来给大家深入解析查询过程中出现#N/A错误值的几个原因。
① 查无此人
#N/A 错误通常表示公式找不到要求查找的内容,比如查询D的成绩,但数据源中不存在对象D,故返回#N/A:
这种情况下,为避免错误值影响表格的美观以及后续的计算,可通过Iferror函数,将错误值替换为文字或数值信息:
语法:=IFERROR(表达式,用于替换错误值的内容)
② 数据源引用错误
如果排除了第一个原因依旧返回错误值,这时候你就应该检查一下你的公式啦!
1、检查数据源是否引用正确
如下图:通过姓名查找分数,数据源是从A(序号)列开始选择的,没有满足数据源首列必须包含查找依据这个要求,所以返回#N/A错误值,正确的公式应该是:
=VLOOKUP(E2,B1:C4,2,0)
2、检查数据源是否有绝对引用
如下图,查询姓名C时数据源选择为B2:C4,公式往下复制后,数据源由于相对引用变成了B3:C5,导致A查询不到结果。一般情况下,进行数据查询时是在一个固定不变的范围中,因此需要将数据范围进行绝对引用。
③ 查找值或数据源中包含其他字符
进行查找时,要求查找值与数据源对象内容必须完全一致,因此如果你的查找值或数据源包含空格、非打印字符、超难搞的未知字符,那么肯定会返回#N/A,因此一定要想方设法删掉它们,不同字符删除方法也不一样。
1、存在空格
通过查找与替换,快捷键【Ctrl+H】,查找内容输入空格字符,替换内容保留为空,全部替换即可删除:
2、存在非打印字符
如下图所示,A2与D2名称看起来完全相同,但是VLOOKUP返回#N/A,用Ctrl+H也查找不到任何空格:
此时,可用3种办法判断是否存在非打印字符:
方法1:用=判断
方法2:用Len函数判断长度是否相等
方法3:粘贴至TXT文档,让非打印字符现形
删除非打印字符的方法:CLEAN函数
3、存在未知字符
如下图所示,A2与D2的数字看起来完全相同,但是VLOOKUP返回#N/A,用Ctrl+H也查找不到任何空格,用Len函数判断长度并不相等,但是用Clean函数却依旧无法清除:
这是我遇到的最顽固的字符了,最终是借助Word实现了字符的删除,我们来看一下方法:
1、将A列数据复制粘贴到Word(只粘贴文本);
2、开始-段落-打开显示编辑标记(可以看到数字面前有不认识的字符)
3、按住Alt键拖动鼠标垂直选择右侧数字内容(这个字符不能用查找替换删除)
4、Ctrl+C复制选择好的数字,粘贴到Excel中,此时,公式已返回正确结果
④ 数据类型不匹配
进行查找时,要求查找值与数据源对象数据类型必须完全一致,如果查找值是文本类型,数据源是数字类型,也会导致VLOOKUP函数查找出错,这时只需要将数据类型修改为一致即可:
以上是查询过程中#N/A出现的原因及解决办法,以后大家出现这种错误就可以从这几个方面进行排查了:
是否查无此人
数据源是否引用出错
数据源是否绝对引用
存在空格、非打印字符、其他字符
数据类型不匹配
好记性不如烂笔头,赶紧练一下~
VLOOKUP之深入解析查询过程中#N/A出现的N种原因(二)相关推荐
- 查询结果取交集_Elasticsearch 查询过程中的 prefilter 原理
大家都知道在对索引执行查询的时候,需要在所有的分片上执行查询,因为无法知道被查询的关键词位于哪个分片,对于全文查询来说诚然如此,然而对于时序型的索引,当你从 my_index-* 中执行 now-3d ...
- 【Elasticsearch】Elasticsearch 查询过程中的 pre-filter 原理
1.概述 转载:添Elasticsearch 查询过程中的 pre-filter 原理 大家都知道在对索引执行查询的时候,需要在所有的分片上执行查询,因为无法知道被查询的关键词位于哪个分片,对于全文查 ...
- 转lua解析脚本过程中的关键数据结构介绍
在这一篇文章中我先来介绍一下lua解析一个脚本文件时要用到的一些关键的数据结构,为将来的一系列代码分析打下一个良好的基础.在整个过程中,比较重要的几个源码文件分别是:llex.h,lparse.h.l ...
- oracle查询过程中卡住,查看Oracle中存储过程长时间被卡住的原因
1:查V$DB_OBJECT_CACHE SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CUX_OE_ORDER_RPT_PKG' AND LOCKS!='0 ...
- 神经网络测试集loss不变_神经网络训练过程中不收敛或者训练失败的原因
在面对模型不收敛的时候,首先要保证训练的次数够多.在训练过程中,loss并不是一直在下降,准确率一直在提升的,会有一些震荡存在.只要总体趋势是在收敛就行.若训练次数够多(一般上千次,上万次,或者几十个 ...
- CentOS7 安装过程中的多盘分区功能探讨(二)
接下来继续探讨CentOS7安装过程中的分区功能,上一篇博文我们对sda.sdb进行了分区,但是没有实现预期效果:boot.swap.根目录只由sda来分配,data只由sdb来分配,如下表: 盘号 ...
- 数据库面试题【十五、优化查询过程中的数据访问】
访问数据太多导致查询性能下降 确定应用程序是否在检索大量超过需要的数据,可能是太多行或列 确认MySQL服务器是否在分析大量不必要的数据行 避免犯如下SQL语句错误 查询不需要的数据.解决办法:使用l ...
- Windows 技术篇:cmd使用过程中输入字母突然不显示光标的原因与解决方法
先说下光标消失的原因: 我们假设光标闪烁显示与不显示是两个状态,分别是通过(光标显示事件)和(光标隐藏事件)控制的. 中文输入过程中是没有光标的,此时直接按 ctrl+shift 切换输入法,系统没有 ...
- 计算机维修直播,电脑直播过程中出现杂声怎么办?三种解决方法任你选
现在,越来越多的人开始用电脑做直播.比如说利用直播来卖货或者分享个人的工作.生活状态.在电脑直播的时候,也会遇到各种各样的问题,其中,很多人就问到电脑直播有杂音滋滋响怎么办?电脑直播中发生杂音滋滋响, ...
最新文章
- matplotlib中文文档_python绘图库——Matplotlib及Seaborn使用(入门篇1)
- 第八周项目一-数组作数据成员(2)
- 【2018.3.10】模拟赛之一-ssl2574Closest【深搜】
- python win10 桌面_Python3如何实现Win10桌面自动切换
- xml学习总结(三)
- IOS时间和秒的转换
- Python爬虫:该如何学习数据爬虫
- java定义一个静态类_Java中的静态类
- 推荐系统技术演进趋势:排序篇
- BZOJ4570: [Scoi2016]妖怪
- typeScrip(三) 类
- javaagent的优势
- 基于java的电子政务网的设计及开发
- YB2411内置MOS高耐压60V/0.6A高效率DCDC降压芯片
- 符号——Alt+数字键
- 知识产权服务机构列表
- 焦虑 程序员_我如何克服焦虑和沮丧来完成freeCodeCamp的前端开发程序
- android模拟按键方法,Android随笔之——模拟按键操作的几种方式
- dns服务器未响应wifi用不上,为你解答dns服务器未响应导致无法上网怎么办
- 史上最简单的开发ESP8266物联网小项目的方法
热门文章
- 东进语音卡 java_东进语音卡的声音文件格式
- Pe怎么备份linux数据,如何用PE给电脑系统做备份
- 计算机里的备份怎样存入百度云,百度网盘电脑怎么关闭备份
- Neovim 打造 Java IDE
- SIOCGMIIPHY 和 SIOCSMIIREG 命令
- ipxe无盘服务器,关于iPXE在服务器自动部署的应用
- mysql mmm 不更新_mysql-mmm故障解决一例
- 如何找实习单位(个人的一点经验)
- 什么是跨阻放大器:工作及其应用特性介绍
- 好用、强大的大纲编辑器综合评测:Workflowy、 Dynalist 、 幕布