excel跨文件提取数据求和

已举报 回答
excel跨文件提取数据求和
问在线客服
扫码问在线客服
  • 回答数

    7

  • 浏览数

    5,250

7个回答 默认排序
  • 默认排序
  • 按时间排序

poy

已采纳
假设A文件的路径为"F:机组发电量有功电量5月报表[A.xlsx]",且B文件的路径为"E:客户工作报表.xlsx",以下是对A文件中G34和G37两个区域以及B文件中H44到H48区域进行求和的公式:
对于G34和G37所在的A文件,我们可以使用SUM函数来求和。首先,在B文件中插入一个计算框,并在其中输入以下公式:
=SUM(B3:B6)/2+SUM(H44:H48)
这个公式会先将B3到B6两个区域进行二分之一求和,然后再将H44到H48两个区域进行求和。最后输出结果即可。
如果路径不正确或者文件名有误,则需要检查路径和文件名是否正确。确保路径正确且文件名无误后,再进行公式输入和测试。
另外需要注意,在引用其他文件时,要确保所引用的单元格或区域在目标文件中存在,并且其属性设置为可见。如果单元格属性设置为隐藏,则无法正确访问到其中的值。
如果仍然出现无效单元格引用问题,可以尝试将路径放入方括号内进行引用,例如:indirect("E:客户工作报表.xlsx"[A.xlsx]"!G34")。
希望以上解答能对您有所帮助。如果还有其他问题,欢迎继续向我提问。
取消 评论
首先:由于需求是根据日期改变引用,所以如果使用公式,唯一能用的只有Indirect函数,这个函数能够把计算得来的字符串(包含日期信息的文件名字符串)转变成引用。
但是,如果在Indirect函数中指向了另一个工作簿,数据必须在工作簿B打开后才能成功更新。所以,如果要使工作簿A自动将数据更新,你必须要事先打开工作簿B。
第二:你可以使用VBA在后台打开工作簿B,当然在这种情况下,就不一定要使用Indirect函数了,取而代之但是可以直接使用VBA获得工作簿B的数据。具体到你的情况,一个用VBA制作的自定义函数可能更适合你。这个自定义函数可以在需要更新的时候,自动在后台打开工作簿B,获取相关数据,你看上去就好像它是Excel内置的函数一样
取消 评论
=SUM(IF(MOD(ROW(F1:F392),17)=1,F1:F392,0))
公式以Ctrl+Shift+Enter三键结束。
注:公式逐行判断行号除以17是否余1,如果是(也就是你说的第1、18、35……等行)就返回该单元格的数值,否则返回0,再将所有返回结果求和。
另外(24-1)*17+1=392行。
取消 评论
得到B表前一天工作表,A1单元格数据,将A文件和B文件放到同一目录上,用公式:
=INDIRECT('[B文件.xls]&MONTH(TODAY())&.&TEXT(DAY(TODAY())-1,00)&'!A1)
取消 评论
取消 评论
要先输入一个等于号,再这样操作。如果不行,看看单元格是不是文本格式的?
按F9重算试试。
取消 评论
首先:由于需求是根据日期改变引用,所以如果使用公式,唯一能用的只有Indirect函数,这个函数能够把计算得来的字符串(包含日期信息的文件名字符串)转变成引用。
但是,如果在Indirect函数中指向了另一个工作簿,数据必须在工作簿B打开后才能成功更新。所以,如果要使工作簿A自动将数据更新,你必须要事先打开工作簿B。
第二:你可以使用VBA在后台打开工作簿B,当然在这种情况下,就不一定要使用Indirect函数了,取而代之但是可以直接使用VBA获得工作簿B的数据。具体到你的情况,一个用VBA制作的自定义函数可能更适合你。这个自定义函数可以在需要更新的时候,自动在后台打开工作簿B,获取相关数据,你看上去就好像它是Excel内置的函数一样
取消 评论
ZOL问答 > excel跨文件提取数据求和

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?