excel跨工作簿引用同一位置单元格数据?

数据来源是第一张图,19年和20年的日报,一共七百多个EXCEL文件(EXCEL名称是严格固定的,只是日期变了)。结果EXCEL是第二张图,分别填写A,B,C,D四栏数据。例如日期为2020年7月01日的A栏,数据来源就是2020年7月1日的日报里的B4这一栏,2020年7月02日的A栏,数据来源就是2020年7月2日的日报里的B4这一栏。需要跨工作簿引用同一个单元格位置的数据,如果填写引用公式,B186='I:\日报\7月\[日报(7月1日).xlsx]Sheet1'!$B$4,B187='I:\日报\7月\[日报(7月2日).xlsx]Sheet1'!$B$4。如何操作能让EXCEL自动更改公式里的日期往后叠加一天,自动引用。不需要我手动更改公式里的日期,EXCEL能做到吗??或者有无其他不需要打开多个EXCEL去复制粘贴,也不需要复制数据源到结果EXCEL里(毕竟700多张表,不想一个一个打开)的办法,可以让EXCEL自动填写数据的。

Excel怎样快速批量将相同表式多文件数据修改

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-08-13
B186的公式为:

=INDIRECT('I:\日报\7月\[日报(" & TEXT(A186,"m月d日")& ").xlsx]Sheet1'!$B$4)
这样就能自动根据A186的内容从对应日期的文件里面提取数据,而且这个公式下拉后,B178会根据A187的值来选择文件,下拉后工作正常。

另外有一个提示,EXCEL的公式都必须从打开的文件中获取,输入公式回车、或者下拉公式后,如果对应的文件没有打开,EXCEL会自动弹出打开文件对话框让你选择文件,还必须选择对,这一点有点麻烦。

如果抽空写个代码,把这些成千上万的每日文件的原始数据合并到一个表里面,那么我们公式就非常简单了,使用VLOOKUP或者SUMIFS就可以,会方便很多。
第2个回答  2020-08-13
使用vba代码,文件多啊,可以先用dir浏览文件,找到文件后分两步:1.使用createobject(“excel.application”)创建打开,提取相应所需数据到当前workbook;2.获取文件名,使用instr或者mid提取相应日期到当前workbook,方便后面统一修改。
第3个回答  2020-08-14
我和你情况类似,我每月8000个左右excel文件,我是用python把文件里的数据合并到一张表(8000个文件python约20分钟合并完,excel vba要6小时左右),再放到sql数据库里去的。
你这种思路没问题,但不可持续,700个文件已经非常麻烦了,后续文件越来越多就没法玩了。
即使会office里的access,都能解决你的问题。
第4个回答  2020-08-14
vba可以自动完成。。。。。
相似回答