小伙伴们好,之前我写了一个帖子总结篇--INDIRECT函数使用终极帖,里面简单介绍了一下如何利用INDIRECT跨工作簿提取数据的技巧。由于受篇幅所限,相关的内容介绍的并不是很充分。今天借这个机会我们着重再介绍一下如何利用INDIRECT函数来跨工作簿提取数据。 请看下面的表格。在工作簿“INDIRECT函数跨工作簿提取数据_源数据”这个文件中有4个工作表,如下图。 在4个工作表中分别存有4部著作的人物名字。现在要在另一个工作簿“INDIRECT函数跨工作簿提取数据”中动态地提取各个著作中的人物。 利用INDIRECT函数跨工作簿提取数据,首先两个工作簿要在同一个目录下。同时,两个工作簿都要打开。 还有一点,如果工作簿的名称中含有数字、特殊字符等,则还要在工作簿名称外侧加一对单引号。 我们可以直接书写完整的路径。 在单元格B2中输入公式“=INDIRECT("'[INDIRECT函数跨工作簿提取数据_源数据.xlsx]西游记"&"'!A2")”,回车即可。 在这个公式中,[INDIRECT函数跨工作簿提取数据_源数据.xlsx]西游记是它的完整路径,在完整路径的最外侧有一对单引号。然后再接上'!A2,表明要引用的具体单元格地址。 我们还可以让单元格引用动态变化。 在单元格B2中输入公式“=INDIRECT("'[INDIRECT函数跨工作簿提取数据_源数据.xlsx]西游记"&"'!A"&ROW(A2))”,回车即可。 观察一下和上面的公式有什么区别?变化在于"'!A"&ROW(A2)部分,它实现了当公式下拉时,ROW(A2)自动变化,从而达到了动态引用的目的。 我们还可以对工作表实现动态引用。 在单元格B4中输入公式“=INDIRECT("'[INDIRECT函数跨工作簿提取数据_源数据.xlsx]"&A4&"'!A"&ROW(A2))”,回车即可。 观察一下,这个公式和上面的公式又有哪些不同?原来,对于工作表的引用变成了对单元格的直接引用。在下拉过程中,由于单元格地址的变化从而动态地改变了对工作表的引用。 好了,总结一下:
-END- |
|