函数Vlookup是日常工作中常见的函数。
它的本职工作是帮助你查询(返回)所需要的一个或者多个值。
【注意事项与适用范围】
以单靠Vlookup函数为例,对数据区域有一定的要求
1.数据区域内不能出现错误值或者空值
2.数据区域内不能用合并同类项
3.目的数值所在列必须是在查找值所在列的右边
4.查找值与数据区域的值格式要一致,数值对应数值,文本对文本

如下图所示:
序号作为查询值的数据格式是文本,而在数据区域里是数值,两种不一样。因此返回值部门(错误)中显示#N/A。
需要更改的地方在第一个参数,将文本格式*1就会变成数值格式,如部门(正确)返回“采购”。

静态显示

https://www.zhihu.com/video/962011867967827968

【两种返回】
1.精确返回(一一匹配)-False
2.模糊返回(区间返回匹配)-True
【与函数搭配】
1.Iferror函数
思路含义:查找值为row(A1),亦即是1,2,3,4,... 通过逐项比对找到如图中第一列(作为辅助列)的数字,然后通过数字返回班级。辅助列的公式:A2=A1+B2。因为数字从1开始数,直到找到数字3,则已经走过3次,返回所在列的数班级也同样走了3次,故重复了3次旋风。Iferror函数意思是,如果公式内部出现错误值,则可以通过设立一个值去代替这个错误值。一般用空值代替,亦即是“”。

公式:Iferror(vlookup(row(A1),A3:C8,3),"")

首先先写上辅助列,辅助列的公式可以用两种:
1. Countif函数 =H49&COUNTIF(H$49:H49,H49)
2. =(H$49=$J$50)+A1

方法2的好处在于,当数据量很多的时候,公式的运算会更高效而且占工作簿大小。
方法2的思路在于,如果你的目标值和我的查找值是一致的,返回True,再加上一个空值,比如说A1, 则1+0=1 。反之,如果与我的查找值不一致的,返回False,则0+0=0 。然后接着找下一行。因此要注意查找值J50一定要用绝对引用,目标值H$49(最好要)锁定行号H。

公式:IFERROR(VLOOKUP($J$50&ROW(A1),$D$48:$F$56,3,FALSE),"")
补充优化辅助列2

2.Match函数
Match返回的数值是对应Vlookup函数的第三个参数,返回列数。如果一个表格的列数很多(超过10行以上的),倘若还需要再从第一列开始数到目标值所在的列,那效率是偏低的。
和Match函数搭配的真正意义在于:在数据区域增加列数,发生变化的时候,也能一步到位地准确返回坐在列的数字。效率会加倍提升。

公式:VLOOKUP($I$34,$E$33:$G$40,MATCH(K33,$E$32:$G$32,0),FALSE)

3.Choose函数(重点/难点)
Choose函数的作用是从参数列表中选择并返回一个值。

举个简单例子:=SUM(CHOOSE(2,A1:A10,B1:B10,C1:C10)),Choose的数字是Index_Num,数字参数,接着后面可以接上不同的值。例子中Choose函数的数字参数是2,亦即返回第二个值(B1:B10)。因此,整个例子的实际运算:=SUM(B1:B10),对B1到B10单元格求和。
公式:VLOOKUP(I7,CHOOSE({1,2},F4:F12,E4:E12),2,FALSE),在数字参数上引用了数组的知识。简单地说,用CHOOSE函数重新构建出一个新的、看不见的数据表。这个表完全符合VLookup函数的适用范围,亦即查询值一定要在返回值的左边。
另外,CHOOSE函数中{1,2},不需一定是1和2,也可以任意大于零,相连的两个数,比如:0和1,但在后面返回所在列的时候,就要返回后面的数字。

公式:VLOOKUP(I7,CHOOSE({1,2},F4:F12,E4:E12),2,FALSE)

4.IF函数(重点/难点)
首先看Vlookup的第一个参数——查询值。这是一个多个条件用和字符串&连接起来的一个组合。如下图所示,查询值为:(J20&I20)销售代表。IF函数也运用了数组知识,相当于在上个例子中的CHOOSE函数,重新构建出一个新的表格,表格的第一列标题就叫做部门职务,第二列就是自己设定好需要返回的列“姓名”。所以数据区域的第一列也跟查询值一样用字符串&连接起来。
难点在于{1,0},还有最后公式外面的{}。要了解为什么这么写,我在此先从IF的基本用法讲起。先举个例子:

IF(A1>=0,"对的","错的")
这公式不难理解,如果条件成立,A1单元格的值确实大于等于0,则会返回第一个值("对的"),条件不成立就返回第二个值("错的")
A1>=0(条件表达式)的结果就两样:A1的值>=0时,结果为TRUE,否则结果为FALSE,而在IF结构中,所有非0的数字都等同于TRUE,而0相当于FALSE。
由此,下面两个公式结果也不难理解了。
=IF(1,"对的","错的")的结果是“对的”
=IF(0,"对的","错的")的结果是“错的
IF不仅可以返回一个值,也可以返回一个区域引用。
所以,下面的公式也顺应地好理解了:
=IF({1,0},B2:B5,A2:A5)
作为数组时,会分别进行计算。先用1作为参数判断,会返回B2:B5,然后用0作为参数判断,又返回一个结果A2:A5。两个结果会重新组合成一个新的数组。
亦即,B2:B5在第一列,A2:A5在第二列。
最后返回到下图例子。因此,第一列就是F19:F26&G19:G26,第二列就是E19:E26。
第二点,这是个数组公式的标识,通过按Ctrl+Shift+Enter这三个键加上。按这三个键时,光标要放在公式编辑栏的公式中任意位置,公式两端有{ }符号。
值得注意的是:有时直接回车也不会报错,但会产生一个错误的返回值。需要留意。

公式:{VLOOKUP(J20&I20,IF({1,0},F19:F26&G19:G26,E19:E26),2,FALSE)}

【辅助搭配】
数据有效性和条件格式
通过调节序号下方的单元格,则可以返回姓名、部门以及职务。同时,在原表中用条件格式显示出来,清晰直观。这也是动态查询图表的基础。

静态显示

https://www.zhihu.com/video/962005821870284800

【经典场景】
快速录入(输入几个字母则返回多个对应的数据)
以下由商店进货售卖表格为例,只需要输入你设定好的缩写则可一次性返回多个字段的参数,产品名称以及单价。在数量多、录入时间频率高的任务中,用Vlookup备份一个表格作为“子板”,效率会有所提升。

静态显示

https://www.zhihu.com/video/962010067806093312

vlookup 2张表 显示na_【Excel 函数】Vlookup 正反向查询相关推荐

  1. vlookup 2张表 显示na_12个最新Vlookup函数示例大全,再不收藏就是你的错了!

    Vlookup函数的教程网上已非常多了,而贴近工作用的Vlookup函数应用示例却很少.今天给同学们带来一期Vlookup函数示例大全,希望能给大家的工作带来帮助.[例1]查找个人信息 =VLOOKU ...

  2. 计算机中函数vlookup怎么用,教您使用excel函数vlookup

    excel函数vlookup在工作中等到了广泛应用,能够用来核对数据,对表于表之间的数据快速查找以及核对起到很重要的作用,在这里小编给大家分享一些Vlookup函数的基础操作,大家可以学习一下. 我们 ...

  3. vlookup 2张表 显示na_Vlookup函数8种使用技巧详解

    锦袍绣帽跃金鞍.卷旗幡.整师还.轻骑穷追,湘尾鼓声寒.千里尘清高会处,张翠幕,万人看.藕丝衫袖捧雕盘.玉颓山.夜将阑.幸遇休兵,且尽玉壶宽.未用汉军频出塞,徒生事,斩楼兰. --[宋]王庭珪<江 ...

  4. vlookup 2张表 显示na_Vlookup函数的这7个应用技巧都不掌握,那就真的Out了

    查询引用,用到最多的函数为Vlookup,但你真的会用吗?其实,Vlookup函数除了常规的查询引用外,还有多种使用技巧 一.Vlookup函数:功能及语法结构.功能:在指定的数据范围内返回符合查询要 ...

  5. navicat查看一张表显示正在加载中

    navicat查看一张表显示正在加载中 https://blog.csdn.net/longe20111104/article/details/107572537 引用该博客内容 原因 我用navic ...

  6. excel如何进行两张表的自动关联?---vlookup

    我们在用excel表格获取数据时会通过不同的渠道获取到有关联的数据,再将数据存储到mysql中,此时就要为数据标记Id,那么当数据庞大的时候如何将相关联的表格自动建立Id呢?这就需要用到excel的功 ...

  7. 从一张表里选择一列加入到另一张表_将Excel多个文件汇总到一张表

    在我们实际工作中,经常会碰到这样的问题,比如有相同结构的数据表,有多人来完成,最后把每个人完成的数据表汇总到一张表.或者,我们每年做一个数据文件,最后把各年的数据文件汇总到一张表.此类问题,原来都用V ...

  8. EXCEL函数VLOOKUP应用详解

    关于VLOOKUP函数的用法 "Lookup"的汉语意思是"查找",在Excel中与"Lookup"相关的函数有三个:VLOOKUP.HLO ...

  9. Excel函数-vlookup(),if(),isna()

    1. vlookup():用于匹配各种好用 1.1 变量解释 lookup_value:你需要匹配的数据(一般就是一列数据)[下例:A2:A7] table_array:你需要在哪几列数据里面匹配,可 ...

最新文章

  1. 如何证明你的性能测试结果可信?
  2. OpenGL中使用glutDisplayFunc(myDisplay),myDisplay里面的代码不显示
  3. Java虚拟机详解03----常用JVM配置参数
  4. boost::math模块实现对贝塞尔函数的零点求和的测试程序
  5. CSS-合理使用z-index控制盒子视轴高度,解决z-index失效
  6. vant:修改van-nav-bar__title颜色——vant中nav-bar组件标题颜色
  7. 戴尔vStart:加快虚拟化,并马上应用戴尔私有云
  8. AI人工智能开发的5种最佳人工智能编程语言
  9. 身为码农,为 12306 说两句公道话
  10. uni-app 图片上传组件 canvas压缩
  11. 7-161 双曲余弦函数(*)
  12. 台式电脑上为什么没有计算机,台式电脑怎么没有声音
  13. 微信点餐系统中出现的小问题记录
  14. 【math】Hiden Markov Model 隐马尔可夫模型了解
  15. Matlab新老版本的差别问题——CAGD课程设计
  16. neovim图标显示乱码,utf8字体显示乱码(Windows10和Centos安装nerd-fonts)
  17. JAVA计算机毕业设计东理咨询交流论坛计算机(附源码、数据库)
  18. RAID管理工具 -- MegaCli常用命令
  19. 将销售订单号 + 行号 带到销售出库单上
  20. Java科学计数法转普通数值的问题

热门文章

  1. deepin安装mysql失败_deepin20无法安装mysql
  2. python爬取2019年计算机就业_2019年最新Python爬取腾讯招聘网信息代码解析
  3. 传感器工作原理_光电式速度传感器的工作原理
  4. linux raw格式改名img,4款Linux下的RAW格式图片编辑软件
  5. HTTP之缓存 Cache-Control
  6. TypeScript 乱糟笔记
  7. 最近用的几个sql语句
  8. 声明 static 变量注意事项
  9. UVA 10891 SUM游戏 DP
  10. Servlet实现文件下载