首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

73 VLOOKUP查询多个数据时返回列号太大了如何处理?

某计划问题:有一个数据中心库,里面有不同任务的不同测试结果,有上百列,后续可能还会增加,但是在查询的时候,需要查询某列的测试结果,他会VLOOKUP函数,可是查询起来特别麻烦了,因为表1的测试数据不一定连续,表2需要指定的测试数据,需要一个一个VLOOKUP函数返回,问有无更好解决方案。

对于上面的问题,我们看一下他的解决方案,如表2中的54号测试数据,需要去表1中人工判断找到在第几列,然后通过VLOOKUP函数来查询工单号来串联,录入函数:

=VLOOKUP(A2,'1.数据中心'!A:X,24,0),返回结果400,然后针对后面的68号数据再次人工判断。如果列数据少一点,还是不太麻烦的了,如果多了的话,这样判断就非常低效了;

针对这样的情况,是很多新学会VLOOKUP函数的生产计划,只能一个人一个人工判断,录入多个VLOOKUP函数解决,其实只需要掌握一个简单的函数MATCH就可以用一个公式快速来解决这类问题了。

MATCH这个函数非常好用,也非常好理解,用通俗的白话就是,查找某个条件在指定区域的相对位置,以数字返回,如1、2、3等;参数也只有3个,第一个参数是具体的查询条件,第二参数是具体查询范围,第三个参数是精确匹配还是模糊匹配,一般情况就是录入0,代表精确匹配;

学习了MATCH这个函数,就可以把这个函数的返回结果当成VLOOKUP第三个参数,实现动态判断。我们先录入函数:

=MATCH(B1,'1.数据中心'!1:1,0),结果返回的24,理解为,64号测试数据在数据中上第一行的标题列的位置是在第24列。

此时,把我们把引用方式锁定一下,公式更改为:

=MATCH(B$1,'1.数据中心'!$1:$1,0)

向右填充,就得到每一个标题对应的位置,嵌套到VLOOKUP的第三个参数就可以实现一个公式填充完,并得到想要的结果:

B2=VLOOKUP($A2,'1.数据中心'!$A:$CW,MATCH(B$1,'1.数据中心'!$1:$1,0),0),这样查询这张表,无论是几号测试数据都没有问题,不用去判断具体是哪一列了;

总结:一般查询函数如INDEX、OFFSET、VLOOKUP这类有返回行号和列号的参数的函数,而行号或者列号又是用具体的数字代表,用MATCH来替代就解决很多查询难点了。如经典的组合:

INDEX+MATCH;

OFFSET+MATCH;

VLOOKUP+MATCH;

都是用得这个原理,而XLOOKUP,没有返回列这个概念,所以就无法使用XLOOKUP+MATCH这样的组合,上面的问题用XLOOKUP不是最佳的解决方案,因为XLOOKUP返回的区域还是需要手动选择;

我是古哥:

从事制造行业18年,在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范,企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验。学习PMC生产计划,关注古哥计划!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230214A07PK800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券