想第一时间收到最新知识,可关注微信公众号:黑米粥的世界。

欢迎加入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出现的原因及解决办法,以后大家出现这种错误就可以从这几个方面进行排查了:

  1. 是否查无此人

  2. 数据源是否引用出错

  3. 数据源是否绝对引用

  4. 存在空格、非打印字符、其他字符

  5. 数据类型不匹配

好记性不如烂笔头,赶紧练一下~

VLOOKUP之深入解析查询过程中#N/A出现的N种原因(二)相关推荐

  1. 查询结果取交集_Elasticsearch 查询过程中的 prefilter 原理

    大家都知道在对索引执行查询的时候,需要在所有的分片上执行查询,因为无法知道被查询的关键词位于哪个分片,对于全文查询来说诚然如此,然而对于时序型的索引,当你从 my_index-* 中执行 now-3d ...

  2. 【Elasticsearch】Elasticsearch 查询过程中的 pre-filter 原理

    1.概述 转载:添Elasticsearch 查询过程中的 pre-filter 原理 大家都知道在对索引执行查询的时候,需要在所有的分片上执行查询,因为无法知道被查询的关键词位于哪个分片,对于全文查 ...

  3. 转lua解析脚本过程中的关键数据结构介绍

    在这一篇文章中我先来介绍一下lua解析一个脚本文件时要用到的一些关键的数据结构,为将来的一系列代码分析打下一个良好的基础.在整个过程中,比较重要的几个源码文件分别是:llex.h,lparse.h.l ...

  4. oracle查询过程中卡住,查看Oracle中存储过程长时间被卡住的原因

    1:查V$DB_OBJECT_CACHE SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CUX_OE_ORDER_RPT_PKG' AND LOCKS!='0 ...

  5. 神经网络测试集loss不变_神经网络训练过程中不收敛或者训练失败的原因

    在面对模型不收敛的时候,首先要保证训练的次数够多.在训练过程中,loss并不是一直在下降,准确率一直在提升的,会有一些震荡存在.只要总体趋势是在收敛就行.若训练次数够多(一般上千次,上万次,或者几十个 ...

  6. CentOS7 安装过程中的多盘分区功能探讨(二)

    接下来继续探讨CentOS7安装过程中的分区功能,上一篇博文我们对sda.sdb进行了分区,但是没有实现预期效果:boot.swap.根目录只由sda来分配,data只由sdb来分配,如下表: 盘号 ...

  7. 数据库面试题【十五、优化查询过程中的数据访问】

    访问数据太多导致查询性能下降 确定应用程序是否在检索大量超过需要的数据,可能是太多行或列 确认MySQL服务器是否在分析大量不必要的数据行 避免犯如下SQL语句错误 查询不需要的数据.解决办法:使用l ...

  8. Windows 技术篇:cmd使用过程中输入字母突然不显示光标的原因与解决方法

    先说下光标消失的原因: 我们假设光标闪烁显示与不显示是两个状态,分别是通过(光标显示事件)和(光标隐藏事件)控制的. 中文输入过程中是没有光标的,此时直接按 ctrl+shift 切换输入法,系统没有 ...

  9. 计算机维修直播,电脑直播过程中出现杂声怎么办?三种解决方法任你选

    现在,越来越多的人开始用电脑做直播.比如说利用直播来卖货或者分享个人的工作.生活状态.在电脑直播的时候,也会遇到各种各样的问题,其中,很多人就问到电脑直播有杂音滋滋响怎么办?电脑直播中发生杂音滋滋响, ...

最新文章

  1. matplotlib中文文档_python绘图库——Matplotlib及Seaborn使用(入门篇1)
  2. 第八周项目一-数组作数据成员(2)
  3. 【2018.3.10】模拟赛之一-ssl2574Closest【深搜】
  4. python win10 桌面_Python3如何实现Win10桌面自动切换
  5. xml学习总结(三)
  6. IOS时间和秒的转换
  7. Python爬虫:该如何学习数据爬虫
  8. java定义一个静态类_Java中的静态类
  9. 推荐系统技术演进趋势:排序篇
  10. BZOJ4570: [Scoi2016]妖怪
  11. typeScrip(三) 类
  12. javaagent的优势
  13. 基于java的电子政务网的设计及开发
  14. YB2411内置MOS高耐压60V/0.6A高效率DCDC降压芯片
  15. 符号——Alt+数字键
  16. 知识产权服务机构列表
  17. 焦虑 程序员_我如何克服焦虑和沮丧来完成freeCodeCamp的前端开发程序
  18. android模拟按键方法,Android随笔之——模拟按键操作的几种方式
  19. dns服务器未响应wifi用不上,为你解答dns服务器未响应导致无法上网怎么办
  20. 史上最简单的开发ESP8266物联网小项目的方法

热门文章

  1. 东进语音卡 java_东进语音卡的声音文件格式
  2. Pe怎么备份linux数据,如何用PE给电脑系统做备份
  3. 计算机里的备份怎样存入百度云,百度网盘电脑怎么关闭备份
  4. Neovim 打造 Java IDE
  5. SIOCGMIIPHY 和 SIOCSMIIREG 命令
  6. ipxe无盘服务器,关于iPXE在服务器自动部署的应用
  7. mysql mmm 不更新_mysql-mmm故障解决一例
  8. 如何找实习单位(个人的一点经验)
  9. 什么是跨阻放大器:工作及其应用特性介绍
  10. 好用、强大的大纲编辑器综合评测:Workflowy、 Dynalist 、 幕布