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

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

动手操作是熟练掌握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操作问题时不再迷茫无助

我就知道你“在看”

推荐阅读
(0)

相关推荐