跨表动态查询数据?有INDIRECT函数,就是那么简单!

发布于 2021-10-17 20:55

送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!



今天要向大家分享的是一例关于INDIRECT函数的应用例子。

某学校统计了期中考试和期末考试的成绩,并形成了下面的两份清单。这两份清单中的表头和格式是一样的,只是学生的排列顺序不一样。

这一份是期中考试的成绩,工作表名称为“期中考试”。



这一份是期末考试的成绩,工作表名称为“期末考试”。



现在要将上面两张表的信息汇总到下面这张表里去。




01

这里要用到跨表查询的技巧。



在单元格D2中输入公式“=VLOOKUP(IF($B2="",$B1,$B2),INDIRECT($C2&"!A:Z"),COLUMN(C1),)”,并向下、向右拖曳即可。

思路:

  • 由于姓名列有单元格合并,因此利用IF函数做一个简单的判断IF($B2="",$B1,$B2),确保VLOOKUP函数的第一个参数不为空值

  • INDIRECT($C2&"!A:Z")部分,其中单元格C2中的内是“期中考试”,整个INDIRECT返回的是工作表“期中考试”中A列到Z列的区域。随之公式的拖曳,INDIRECT函数返回的结果在“期中考试”和“期末考试”这两个工作表切换

  • COLUMN(C1)部分,由于两张考试成绩表中,科目“语文”都在C列,也就是第三列,因此COLUMN(C1)告诉了VLOOKUP函数该从第几列开始查找


02

这里是一个非常简单的应用,原因是源数据表和汇总表的结构是完全一致的。实际上在很多时候源数据表和汇总表的结构并不一致,这种情况下公式的书写会更加复杂,还要在VLOOKUP函数的第3个参数上套用MATCH函数,这里就不深入介绍了。



如果大家向了解更多INDIRECT函数的知识,请参看帖子总结篇--INDIRECT函数使用终极帖。




-END-

面对EXCEL操作问题时不再迷茫无助

Excel应用之家
本致力于介绍、交流EXCEL各项功能在工作中的实际应用; 为你答疑解惑;帮你制作各类图表、表格和模板。
2640篇原创内容
推荐阅读
  • 实际工作中的实时汇总

  • 一组字符提取公式送给你

  • 如何将数字从文本串中提取出来,快来看看这里吧!

  • 基础篇--插入也要讲技巧

  • 难倒了多少大神的习题:从一个四位数中任意取三个数,令其和值尾数等于指定值。你也来试试吧!

本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。

相关素材