打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VLOOKUP乱序字段查询

昨天的文章讲了VLOOKUP函数跨多工作表查询技术,有同学发现数据源中的多个工作表中字段顺序是一致的,于是提问当各个工作表中字段顺序不一致时,如何进行数据查询呢?

只要你能找到规律,构建思路,确定方法,这些都不是难事。

今天要讲的就是VLOOKUP函数乱序字段查询的技术


案例描述

这个案例是某学校学生成绩查询,不同模拟考试的成绩位于不同的工作表中,且每张工作表中的字段顺序全都不一致,下面分别来看。

一模成绩表如下图


案例描述


这个案例是某学校学生成绩查询,不同模拟考试的成绩位于不同的工作表中,且每张工作表中的字段顺序全都不一致,下面分别来看。


一模成绩表如下图所示。

(下图为数据源所在工作表)


二模成绩表如下图所示。

(下图为数据源所在工作表)


三模成绩表如下图所示。

(下图为数据源所在工作表)


学生成绩查询统计表,黄色区域为公式计算生成,如下图所示。

(下图为公式所在工作表)


要求按照A列的模拟考试次数和B列的学生姓名,从后面的工作表中查询对应数据。


在看下面的解决方案之前,请你先独立思考,带着思路和问题继续向下看。



思路构建


思路提示:任何问题的解决,首先要先构建思路再选择合适的方法,而构建思路的前提是明确业务目的并找到数据规律。


此案例的除了关键点一:跨表查询(昨天文章已讲,可在文末链接查看),还需要关键点二:针对不同的字段顺序返回对应字段所在列的信息。


观察数据源规律,发现A列的模拟考试次数和后续数据源中的工作表名称一致,我们可以借此确定在哪个工作表中查询,搞定关键点一;


至于关键点二,每个字段在数据源工作表中的相对位置,可以使用查找定位函数进行定位,再传递给VLOOKUP函数,这样搞定关键点二。


思路构建完毕,可以在Excel中落地实现。

解决方案


思路提示:跨表引用的实现用INDIRECT函数,使用C列中的模拟考试名称作为其参数指向引用工作表,每张工作表中的字段位置,使用MATCH函数定位。


E2单元格输入如下公式,将公式向下向右填充:

=VLOOKUP($D2,INDIRECT($C2&"!a:f"),MATCH(E$1,INDIRECT($C2&"!1:1"),),)


如下图所示。

(下图为公式示意图)


一句话解析:

使用MATCH函数在每张数据源工作表的第一行中定位字段所在位置,再传递给VLOOKUP函数作为其第三参数;再使用INDIRECT函数实现跨工作表引用,共同搭配解决问题。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VLOOKUP INDIRECT函数跨工作表查询数据,强大!
VLOOKUP INDIRECT函数20秒就能汇总多个工作表顺序不一致的数据。
最经典的嵌套,Vlookup从多个表中查找
Excel教程:跨表引用数据自动更新,1秒提取12张表格数据!
多工作表中数据汇总到一张表上
你知道怎样动态跨表查阅数据吗?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服