vlookup函数比对方法(比一般的查找好用10倍)
vlookup函数比对方法(比一般的查找好用10倍)小王:好的好的,领导~领导:小王,给我找出某某产品的销售额,哦,对了,再给我找出 2 月份某某产品的销售额……
私信回复关键词【UP】,获取VLOOKUP函数用法教程合集,一看就会!
嗨,大家好,我是努力研究函数的小E~
在工作中,我们经常会遇到这样的问题——
领导:小王,给我找出某某产品的销售额,哦,对了,再给我找出 2 月份某某产品的销售额……
小王:好的好的,领导~
(小王心想:这难不倒我!!)
不过这次小王收到表格后,彻底蒙圈了。
他之前收到的表格都是单一方向的一维表,而这次居然是一张二维表(交叉表)!
小王现在需要找出两个方向上、要同时满足条件的数据。
如果表格数据量比较少,那肉眼一瞧就能找到了,但是现在是一张几千行的表格啊!
小王内心崩溃了,不过活还是得要干!
于是,小王同学就找到了我,请求帮忙。
上面小王遇到的问题是:需要根据列方向的值,及行方向的值,得到交叉点的值。
这个问题,我把它归为一个交叉匹配的问题。
今天,我们就来聊一聊交叉匹配那些事~
下面我们通过一张图,具体来看看交叉匹配:
好啦,现在我们已经知道了交叉匹配,接下来,就来看看最常见的三种做法~
❶ VLOOKUP 和 MATCH 函数结合;
❷ INDEX 和 MATCH 函数结合;
❸ 利用名称管理器。
我们还是用这个案例,这里有一份成绩单,现在我需要找出小爽的图表成绩。
关于查询,我们肯定第一个想到的就是 VLOOKUP 函数,毕竟太熟悉了。
可是 VLOOKUP 函数只能纵向查找,没办法实现横向查找,而对于交叉匹配是不是就无能为力了呢?
虽然 VLOOKUP 函数不能实现横向查找,但是它可以找它的兄弟帮忙啊!
所谓在家靠父母,出门靠兄弟!
纵向部分的查询,我们可以利用 VLOOKUP 函数;
但是返回指定的列,可以利用另外一个函数 MATCH 来返回对应的索引数。
我们先来看看 VLOOKUP 和 MATCH 函数的做法~
结果图:
公式如下:
=VLOOKUP("小爽" A1:D5 MATCH("图表" A1:D1 0) FALSE)
在这个公式中,我们用到了 vlookup 函数和 match 函数。
MATCH 函数说明:
=MATCH(找啥,在哪里找,匹配方式)
其中匹配方式中 0 为精确匹配。
比如:
=MATCH("小爽" {"小叮";"小爽";"秋叶 Excel"} 0)
结果为 2,表明小爽在这个区域中的第二位。
下面通过一个简单的图示图来看看~
对于 VLOOKUP 函数,之前有许多文章介绍过,后台回复关键词【up】,可以查收文章合集~
VLOOKUP 函数说明:
=VLOOKUP(找啥,在哪里找,找的相对位置,匹配方式)
其中匹配方式中 FALSE 为精确匹配。
比如:
=VLOOKUP("小爽" {"姓名" "图表";"小爽" "45"} 2 False)
结果为 45,表明小爽的图表成绩为 45。
假设我们不知道图表的相对位置,也就是不知道第三参数中的 2。
我们可以借助前面介绍的 MATCH 函数来查找图表在表头的相对位置,公式就应该为:
=VLOOKUP("小爽" {"姓名" "图表";"小爽" "45"} MATCH("图表" {"姓名" "图表"} 0) False)
▲左右滑动查看完整公式
结果也为 45。
下面,我们就通过一个图示来更深入地理解吧~
简单总结一下:
由于 VLOOKUP 函数只能纵向查找,所以我们需要借助 MATCH 函数来查找查询值在标题区域中的相对位置。
这个位置的结果可以作为 VLOOOKUP 函数的第三参数,来查找出交叉匹配中的值,该做法是最常见的交叉匹配的做法。
下面我们介绍 index 和 match 函数的做法。
我们知道 INDEX 和 MATCH 函数是一对万金油查找函数公式,两者配合,能够发挥出巨大的作用!
MATCH 函数负责找位置,然后告诉 INDEX 位置,INDEX 就去把东西抓过来,好比侦探和警察的关系。
下面我们就来介绍一下它两配合的做法吧~
结果图:
公式如下:
=INDEX(A1:D5 MATCH("小爽" A1:A5 0) MATCH("图表" A1:D1 0))
INDEX 函数说明:
INDEX 函数可以返回指定的行与列交叉处的单元格引用。
=INDEX(区域 行数 列数 [区域数])
前面我们介绍过 match 函数主要是用来获取查询值在行/列区域的相对位置;
那么我们假想,如果 match 函数分别获取行方向和列方向上的相对位置,再利用 index 函数去索引对应的值,这样不就达到查找交叉匹配的目的了嘛!
看看下图的图示,可以更加理解它两如何配合的~
简单总结一下:
利用 MATCH 函数获取行列方向的相对位置,INDEX 函数再去索引对应的位置以达到交叉匹配的效果。
前面我们介绍了两种函数方法,可是我不懂函数怎么办?
是不是就解决不了呢?
接下来,我们来看看名称管理器的方法。
名称管理器,顾名思义,就是给公式命名。
那如果我们把横向和纵向的区域都命名了,再利用运算符获得行列交叉区域的值,不就可以了嘛?
我们先来看一下具体操作:
❶ 定义名称
选中表格区域,选择【公式】选项卡下的根据所选内容创建,勾选首行,最左行,点击【确定】。
此时名称管理器就有对应的名称的区域啦~
❷ 编写公式
最后输入公式:
=图表 小爽
此时结果就出来啦~
不过,肯定有小伙伴疑惑,公式中间的空格究竟是干嘛的呢?
为什么这么编写公式呢?
首先补充一个 Excel 中的引用运算符的小知识点:
空格是一个运算符号,表示区域之间的交叉区域。
前面我们定义过名称,我们可以得知:
图表=B2:B5
小爽=B3:D3
也就是=图表 小爽
相当于=(B2:B5 B3:D3)
它们之间交叉的区域就是 B3 单元格,也就是 45。
看到这里,你是不是明白了呢~
简单总结一下:
利用名称管理定义行列区域的名称,获取行列区域的交叉值。
然后我就兴冲冲地把这三种方法交给小王啦~
总结一下,本文介绍了三种常用的交叉匹配的方法:
❶ VLOOKUP 和 MATCH 函数结合——借助 match 函数获取横方向的相对位置;
❷ INDEX 和 MATCH 函数——一个找位置,一个抓东西;
❸ 利用名称管理器——借助名称管理器和 Excel 引用运算。
交叉匹配的三种常用方法,你 get 到了嘛~
私信回复关键词【UP】,获取VLOOKUP函数用法教程合集,一看就会!