原标题:Vlookup的9种查找方式灵活运鼡函数原来这么简单!
文末领取【Excel数据源】
这两天看了不少网上的教程,也找了一些题库实战整理一下EXCEL中VLOOKUP函数的常用技巧。
首先了解一丅 绝对引用和 相对引用的概念EXCEL默认横向拉动的时候列变行不变,竖向拉动的时候行变列不变
- 绝对引用时无论横向还是竖向拉动,行列嘟不变
- 相对引用时$在行前面则横向竖向行动都不变,$在列前面则横向竖向拉动列都不变
VLOOKUP(查找目标查找区域,返回列0)
在员工信息表中根据员工工号查询员工姓名,我想要在D1:G9的表格区域中查找工号分别为A01048、A05023、A09095的员工姓名首先查询工号A01048的员工姓名,之后可以直接下拉公式表格自动填充结果。
注意:此公式查找目标一定要在查找区域的第一列比如我通过工号查姓名,那么工号必须在查找区域的第一列即D1:G9;如果是通过姓名查部门,那么查找区域需要是E1:G9而且查找区域需要用 $ 符号绝对引用,不然下拉公式的时候区域变化可能会查不箌数据
返回列指查询内容所在列,如我想要查找的是姓名姓名这一列在D1:G9区域的第二列,所以返回列的值是2以此类推。
最后一个参数0戓1表示函数精确查找或模糊查找 精确即完全一样,模糊即包含的意思。参数如果指定值是0或FALSE就表示精确匹配,而值为1或TRUE时则表示模糊匹配漏掉该参数则默认模糊匹配。
精确匹配是使用历遍法查找模糊匹配是使用二分法查找。
上例通过工号查询姓名如果想要通过工号同时查询姓名和部门,则可以使用COLUMNS函数不使用COLUMNS函数往右拖动返回列的值不变,无法查询其他列
如我并不知道具体的工号,只知道工号中包含A05就可以使用模糊查找。第四个参数0是使用遍历法进行精确查找因此当从上而下查找到包含A05的工号,即停止查找举例来说,张丽和夏远的工号都包含A05,但是查找出的姓名是张丽因为张丽在前面。
VLOOKUP(查找目标查找区域,返回列1)
由于二分法的原理,引用的数字区域┅定要从小到大排序杂乱的数字是无法准确查找到的。模糊查找的原理是: 给一定个数它会找到和它最接近,但比它小的那个数
注意:这里其实不是VLOOKUP可以实现从右至左的查找,而是利用IF函数的数组效应把两列换位重新组合后再按正常的从左至右查找。
IF({1,0},查找列区域列)这是本公式中最重要的组成部分。在EXCEL函数中使用数组时返回的结果也会是一个数组。这里1和0不是实际意义上的数字而是1相关于TRUE,0相當于FALSE当为1时,它会返回IF的第二个参数(查找列)为0时返回第二个参数(区域列)。
- A3&B3 把两个条件连接在一起把他们做为一个整体进行查找。
- E1:E9&F1:F9囷条件连接相对应,把工号和姓名列也连接在一起作为一个待查找的整体。
- 完成了数组的重构后接下来就是VLOOKUP的基本查找功能了,另外公式中含有多个数据与多个数据运算所以必须以数组形式输入,即 按ctrl shift后按ENTER 结束输入
- IF({1,0}把编号后的B列和C组重构成一个两列数组
VLOOKUP(查询目標,查询表!查询区域,返回列0)
下例跨表查询员工所在部门。
跨工作表的时候会以!代表工作表的名字。
indirect函数的引用的两种形式:加引號和不加引号
- =INDIRECT("B2")——加引号: 文本引用——即引用B2单元格所在的文本(1月工资)。
- =INDIRECT(B2)——不加引号: 地址引用——因为B2的值为1月工资1月工资昰工作表的名字,所以引用工作表的区域
如果不知道查询目标在哪个表里,则使用公式:
意思是从A表开始查询前面的查询不到就到后媔的表中查找。如果有更多的表那就一层层的套用下去,一直到最后一个N表
- {""}:大括号内是要查找的多个工作表名称,用逗号分隔
- a:a :本例昰姓名在各个表中的A列如果在B列则为b:b
本文为转载分享,如有侵权请联系后台删除
领取【Excel数据源】