作者:小北童鞋
来源:芒种学院(ID:lazy_info)
文/芒种学院@小北童鞋(ID:lazy_info)
谈起查询,绝大部分小伙伴会想到VLOOKUP函数,不过单独使用VLOOKUP查询限制非常多,通常需要表格都是单一方向的一维表,有时候导出的数据、收集的表格往往都不符合。
特别是碰上这种二维的交叉表,单独使用VLOOKUP就有点无能为力了,例如下方的二维表,在数据比较少的情况十分清晰,如果数据量暴增为几千条,那么就…

「二维表」不仅透视表非常讨厌,使用函数也非常讨厌它,特别是针对初学者,想从二维表中找到符合条件的数据,非常麻烦。
其实这是一个交叉匹配的经典问题,这里我们使用3种技巧来解决:
VLOOKUP+MATCH函数实现交叉匹配;INDEX+MATCH函数实现交叉匹配;- 空格运算符+名称命名实现交叉匹配;
- …
其中最后一种保证你没有见过,这是Excel中的一种引用运算符非常强大的功能。
快来和小北同学一起学习这 3 个超高效率的交叉查询小技巧吧~
VLOOKUP+MATCH函数组合
如果问题是「筛选问题」,那么就首先考虑使用VLOOKUP函数是否能实现,这里由于返回的列数不是固定的,所以单独使用VLOOKUP已经失效。
将问题拆分为两部分:垂直部分使用VLOOKUP,水平部分利用MATCH函数来确定返回的索引数即可。
故可以使用公式如下,轻松匹配出“小北的VBA成绩”,居然才42分不及格:

公式主要用到了VLOOKUP+MATCH,其中MATCH用于确定返回的列数,位于VLOOKUP的第 3 个参数上:
=VLOOKUP("小北", A2:D4, MATCH("VBA", A1:D1, 0))Code language: Excel (excel)
这些函数的参数就不在做过多解释,总结成套路公式:
=VLOOKUP(关键字1, 表区域, MATCH(标题关键字, 标题区域, 0))Code language: Excel (excel)
哪怕不理解,下次也可以直接套着使用,这是第一种使用技巧。
INDEX+MATCH函数组合
如果是使用VLOOKUP能实现的,那么肯定可以使用INDEX实现,反之则未必,这是一对比VLOOKUP更强大的筛选函数组合。
在这个函数组合里,MATCH函数依旧是扮演到「查找位置」的功能,而INDEX函数是根据位置,返回「指定区域」。
例如:查询“小芒同学的图表成绩”,如下:

公式用到了 2 个MATCH函数用来确定交叉的位置,如下:
=INDEX(B2:D4, MATCH("小芒", A2:A4, 0), MATCH("图表", B1:D1, 0))Code language: Excel (excel)
公式看起来会比第 1 种技巧更加长一些,不过理解起来会更加简单,总结为:
=INDEX(表区域, MATCH(关键字1, 数据区域1, 0), MATCH(关键字2, 数据区域2, 0))Code language: Excel (excel)
确认好「表区域」、「关键字1/2」和「数据区域1/2」即可,这里新手非常容易犯的一个错误。
就是表区域选择了整张表,MATCH却没有匹配对应的区域,所以一定要检查区域是否对应。
空格+名称命名
在前面的推送中,我们有分享如果将一块区域快速命名用于简化函数,这里我们在重新温习下。
将「二维表」快速命名的技巧非常简单,「选中」表格之后,点击「公式」选项卡下的「根据所选内容创建」。
最后勾选「首行」和「最左列」,点击确定即可。

这样在「公式」选项卡下的「名称管理器」中就能看到命名的区域了,可以看到「人名」和「科目」全部被命名:

接着最强大的地方来了,我们利用定义好的「名称」+「空格」就能轻松找到「交叉的位置」。
例如:查找“小冰同学的透视表成绩”,仅仅使用 5 个字符轻松搞定。

你没有看错,公式就是「=小冰 透视表」,使用空格连接两个名称即可。
这是为什么呢?「空格」在Excel中其实是「引用运算符」,用于返回「两列的交叉处」,所以就能轻松实现「交叉查询」。
总结下套路:=命名1 命名2,这样即可快速找到两个区域交叉的部分,是不是比VLOOKUP更快。
至此「3种交叉查询」的Excel技巧,就已经学习完毕了,你记住了么?其实在Excel中存在着 3 种「引用运算符」,功能都非常强大,下次再分享咯~
© 版权声明
文章版权归作者所有,未经允许请勿转载。




VLOOKUP+MATCH这个组合我之前试过,老是MATCH区域选错,头疼死了
空格那个方法挺骚的
第三个技巧真没见过,长见识了
INDEX那个公式区域确实容易搞混
我上次也搞错了区域。
这个空格运算符有点意思
那个空格技巧太牛了,居然还能这么玩!
空格还能当运算符?Excel隐藏功能也太多了吧🤔
=小冰 透视表 这也太神了,明天就去办公室装个X
第三种方法有点颠覆认知了
我第一眼也惊了
原来MATCH还能这么用,以前只会查行号
我也是刚发现这个用法
INDEX那个组合我一直用,比VLOOKUP稳多了。
我也是,感觉更灵活
这招空格运算也太骚了,同事还以为我写代码😂
第三种方法从没试过,下次试试看。
我也是第一次知道这个方法
空格那个绝了,比公式省事多了。
确实,一下就记住了。
MATCH区域选错真的烦,改了半小时才发现问题在哪
=小北 VBA 这样试了下居然真行,42分是认真的?
二维表头疼很久了,终于找到不用透视表的办法