分享

INDIRECT函数跨工作簿引用数据,找不到窍门,还真搞不定!

 EXCEL应用之家 2022-06-17 发布于上海


小伙伴们好,之前我写了一个帖子总结篇--INDIRECT函数使用终极帖,里面简单介绍了一下如何利用INDIRECT跨工作簿提取数据的技巧。由于受篇幅所限,相关的内容介绍的并不是很充分。今天借这个机会我们着重再介绍一下如何利用INDIRECT函数来跨工作簿提取数据。

请看下面的表格。在工作簿“INDIRECT函数跨工作簿提取数据_源数据”这个文件中有4个工作表,如下图。



在4个工作表中分别存有4部著作的人物名字。现在要在另一个工作簿“INDIRECT函数跨工作簿提取数据”中动态地提取各个著作中的人物。



利用INDIRECT函数跨工作簿提取数据,首先两个工作簿要在同一个目录下。同时,两个工作簿都要打开。

还有一点,如果工作簿的名称中含有数字、特殊字符等,则还要在工作簿名称外侧加一对单引号。


01

我们可以直接书写完整的路径。



在单元格B2中输入公式“=INDIRECT("'[INDIRECT函数跨工作簿提取数据_源数据.xlsx]西游记"&"'!A2")”,回车即可。

在这个公式中,[INDIRECT函数跨工作簿提取数据_源数据.xlsx]西游记是它的完整路径,在完整路径的最外侧有一对单引号。然后再接上'!A2,表明要引用的具体单元格地址。


02

我们还可以让单元格引用动态变化。



在单元格B2中输入公式“=INDIRECT("'[INDIRECT函数跨工作簿提取数据_源数据.xlsx]西游记"&"'!A"&ROW(A2))”,回车即可。

观察一下和上面的公式有什么区别?变化在于"'!A"&ROW(A2)部分,它实现了当公式下拉时,ROW(A2)自动变化,从而达到了动态引用的目的。


03

我们还可以对工作表实现动态引用。



在单元格B4中输入公式“=INDIRECT("'[INDIRECT函数跨工作簿提取数据_源数据.xlsx]"&A4&"'!A"&ROW(A2))”,回车即可。

观察一下,这个公式和上面的公式又有哪些不同?原来,对于工作表的引用变成了对单元格的直接引用。在下拉过程中,由于单元格地址的变化从而动态地改变了对工作表的引用。


04

好了,总结一下:

  • 以后无论工作簿的名称是什么结构的,都记得在最外侧加一对单引号

  • 文件路径可以通过双引号+连接符&来组合构成,最终只要是符合路径格式要求就可以

  • 对于动态引用工作表,只要引用工作表名称所在单元格地址即可

  • 对于动态应用单元格,只需要借助ROW函数(或者其它函数)来动态改变单元格地址就可以了


05



-END-

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多