EXCEL中如何引用多个表格文件的同一单元格的内容到汇总表中?
我有多个excel数据文件,文件的名称依次是“……001、002、003、099”,现在需要在汇总表中读取之前每个表格的内容,如下图:请问有没有比较快捷的方法,我把第二行...
我有多个excel数据文件,文件的名称依次是“……001、002、003、099”,现在需要在汇总表中读取之前每个表格的内容,如下图:
请问有没有比较快捷的方法,我把第二行中黄色填充部分的公式设置好,然后在B3单元格中输入需要调用的文件名称,然后将黄色部分往下填充就可以自动生成第三行的数据?
现在我是在汇总表中第二行直接等于数据表的内容,比如:
C2,='F:\2013\[……001.xlsx]sheet1'!$B$3
D2,='F:\2013\[……001.xlsx]sheet1'!$C$6
E2,='F:\2013\[……001.xlsx]sheet1'!$D$5
然后第三行的数据又要一个个去等于去点,这个方法很笨。
有没有比较快捷的方式,我直接往下拖动,后续只要输入B列的文件名,后续的内容就可以通过填充方式获得?
补充一点,我的数据文件很多,而且不能把数据表做成汇总表文件中的多个工作表。也就是说,我的数据文件是要一直往后递增的。
下面是我按之前提问时网友提供的方法,我按下面的方法试了一下,还是不行,单元格返回“#ERF!”,必须要在打开汇总表的同时将所有数据表全部打开,我的文件很多,如果全部打开的话不太现实。
C2:=INDIRECT("'F:\2013\[……"&TEXT(ROW(A1),"000")&".xlsx]sheet1'!$B$3")D2:=INDIRECT("'F:\2013\[……"&TEXT(ROW(A1),"000")&".xlsx]sheet1'!$C$6")请高手解决!如果实在采用公式的方法无法解决,那么采用VBA的方式解决也可以。
问题解决后再加50分。 展开
请问有没有比较快捷的方法,我把第二行中黄色填充部分的公式设置好,然后在B3单元格中输入需要调用的文件名称,然后将黄色部分往下填充就可以自动生成第三行的数据?
现在我是在汇总表中第二行直接等于数据表的内容,比如:
C2,='F:\2013\[……001.xlsx]sheet1'!$B$3
D2,='F:\2013\[……001.xlsx]sheet1'!$C$6
E2,='F:\2013\[……001.xlsx]sheet1'!$D$5
然后第三行的数据又要一个个去等于去点,这个方法很笨。
有没有比较快捷的方式,我直接往下拖动,后续只要输入B列的文件名,后续的内容就可以通过填充方式获得?
补充一点,我的数据文件很多,而且不能把数据表做成汇总表文件中的多个工作表。也就是说,我的数据文件是要一直往后递增的。
下面是我按之前提问时网友提供的方法,我按下面的方法试了一下,还是不行,单元格返回“#ERF!”,必须要在打开汇总表的同时将所有数据表全部打开,我的文件很多,如果全部打开的话不太现实。
C2:=INDIRECT("'F:\2013\[……"&TEXT(ROW(A1),"000")&".xlsx]sheet1'!$B$3")D2:=INDIRECT("'F:\2013\[……"&TEXT(ROW(A1),"000")&".xlsx]sheet1'!$C$6")请高手解决!如果实在采用公式的方法无法解决,那么采用VBA的方式解决也可以。
问题解决后再加50分。 展开
1个回答
展开全部
INDIRECT函数不打开对应文件确实不行。函数没啥好办法解决。
方法有两个:
1、使用microsoft query查询,我没用过听说的
2、用vba代码帮忙写公式
代码如下:建一个按钮粘贴其中
Private Sub CommandButton1_Click()
For i = 2 To 99
Cells(i, 3) = "='F:\2013\[" & Cells(i, 2) & ".xlsx]Sheet1'!$B$3"
Cells(i, 4) = "='F:\2013\[" & Cells(i, 2) & ".xlsx]Sheet1'!$C$6"
Cells(i, 5) = "='F:\2013\[" & Cells(i, 2) & ".xlsx]Sheet1'!$D$5"
Next i
End Sub
=======================
不知道你99个表的结构,剩下的地理、化学等,循环中间的样子改一下最后的引用单元格和前面的赋值单元格如地理即放在第六列Cells(i, 6)
其中的cells(i,2)表示取B列的值(文件名)
方法有两个:
1、使用microsoft query查询,我没用过听说的
2、用vba代码帮忙写公式
代码如下:建一个按钮粘贴其中
Private Sub CommandButton1_Click()
For i = 2 To 99
Cells(i, 3) = "='F:\2013\[" & Cells(i, 2) & ".xlsx]Sheet1'!$B$3"
Cells(i, 4) = "='F:\2013\[" & Cells(i, 2) & ".xlsx]Sheet1'!$C$6"
Cells(i, 5) = "='F:\2013\[" & Cells(i, 2) & ".xlsx]Sheet1'!$D$5"
Next i
End Sub
=======================
不知道你99个表的结构,剩下的地理、化学等,循环中间的样子改一下最后的引用单元格和前面的赋值单元格如地理即放在第六列Cells(i, 6)
其中的cells(i,2)表示取B列的值(文件名)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询