交叉查询这样用VLOOKUP,比一般查找效率高10倍!

Excel2020年1月3日发布 转载
934 230
作者:小北童鞋
来源:芒种学院(ID:lazy_info)
文/芒种学院@小北童鞋(ID:lazy_info)

谈起查询,绝大部分小伙伴会想到VLOOKUP函数,不过单独使用VLOOKUP查询限制非常多,通常需要表格都是单一方向的一维表,有时候导出的数据、收集的表格往往都不符合。

特别是碰上这种二维的交叉表,单独使用VLOOKUP就有点无能为力了,例如下方的二维表,在数据比较少的情况十分清晰,如果数据量暴增为几千条,那么就…

二维表不仅透视表非常讨厌,使用函数也非常讨厌它,特别是针对初学者,想从二维表中找到符合条件的数据,非常麻烦。

其实这是一个交叉匹配的经典问题,这里我们使用3种技巧来解决:

  1. VLOOKUP+MATCH函数实现交叉匹配;
  2. INDEX+MATCH函数实现交叉匹配;
  3. 空格运算符+名称命名实现交叉匹配;

其中最后一种保证你没有见过,这是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 种「引用运算符」,功能都非常强大,下次再分享咯~

© 版权声明

相关文章

23 条评论

  • 云中漫步
    云中漫步 游客

    VLOOKUP+MATCH这个组合我之前试过,老是MATCH区域选错,头疼死了

    中国浙江
    回复
  • 山路诗人
    山路诗人 读者

    空格那个方法挺骚的

    英国
    回复
  • 吨吨吨吨吨
    吨吨吨吨吨 读者

    第三个技巧真没见过,长见识了

    美国
    回复
  • 花间游
    花间游 读者

    INDEX那个公式区域确实容易搞混

    波兰
    回复
    • 鼓手严
      鼓手严 读者

      我上次也搞错了区域。

      中国@ 花间游
      回复
  • 青丝绕
    青丝绕 读者

    这个空格运算符有点意思

    荷兰
    回复
  • Wyrmslayer
    Wyrmslayer 读者

    那个空格技巧太牛了,居然还能这么玩!

    哥伦比亚
    回复
  • 刀锋舞墨
    刀锋舞墨 游客

    空格还能当运算符?Excel隐藏功能也太多了吧🤔

    中国江苏
    回复
  • 枫叶音
    枫叶音 游客

    =小冰 透视表 这也太神了,明天就去办公室装个X

    澳大利亚
    回复
  • 狻猊吞焰
    狻猊吞焰 读者

    第三种方法有点颠覆认知了

    印度
    回复
  • 丝路旅人
    丝路旅人 读者

    原来MATCH还能这么用,以前只会查行号

    巴西
    回复
    • 银月诗人
      银月诗人 读者

      我也是刚发现这个用法

      中国河北@ 丝路旅人
      回复
  • 影之织梦
    影之织梦 读者

    INDEX那个组合我一直用,比VLOOKUP稳多了。

    挪威
    回复
    • 开朗外向
      开朗外向 读者

      我也是,感觉更灵活

      中国河北@ 影之织梦
      回复
  • 梦回鲸歌
    梦回鲸歌 读者

    这招空格运算也太骚了,同事还以为我写代码😂

    中国陕西
    回复
  • 彩虹伞
    彩虹伞 读者

    第三种方法从没试过,下次试试看。

    意大利
    回复
    • 旧书页角
      旧书页角 读者

      我也是第一次知道这个方法

      中国湖南@ 彩虹伞
      回复
  • 星空观测者
    星空观测者 读者

    空格那个绝了,比公式省事多了。

    韩国
    回复
  • 甜甜鸭
    甜甜鸭 游客

    MATCH区域选错真的烦,改了半小时才发现问题在哪

    中国香港
    回复
  • 夜风吟游
    夜风吟游 读者

    =小北 VBA 这样试了下居然真行,42分是认真的?

    中国江苏
    回复
  • 海岛漂流
    海岛漂流 游客

    二维表头疼很久了,终于找到不用透视表的办法

    中国山东
    回复