Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2232|回复: 8

[已解决]求和函数d

[复制链接]
发表于 2017-2-8 14:41 | 显示全部楼层 |阅读模式
本帖最后由 shihuai 于 2017-2-9 12:08 编辑

求一多表求和公式,谢谢
最佳答案
2017-2-8 17:23
本帖最后由 hupin6331 于 2017-2-8 17:25 编辑

给个函数公式。

附件优化.zip

26.93 KB, 下载次数: 9

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-2-8 15:55 | 显示全部楼层
用VBA吧。不然以后再增加几个项目部搞死你。
  1. Sub 汇总()
  2.     Set d = CreateObject("scripting.dictionary")
  3.     For Each sh In Worksheets
  4.         If sh.Index > 1 Then
  5.             arr = sh.[a1].CurrentRegion
  6.             For i = 4 To UBound(arr) - 1
  7.                 x = arr(i, 2) & arr(i, 4)
  8.                 d(x) = d(x) + arr(i, 3)
  9.             Next
  10.         End If
  11.     Next
  12.     arr = [a1].CurrentRegion
  13.     For j = 3 To UBound(arr, 2) - 1
  14.         For i = 2 To UBound(arr) - 1
  15.             x = arr(i, 2) & arr(1, j)
  16.             arr(i, j) = d(x)
  17.             s = s + d(x)
  18.         Next
  19.         arr(i, j) = s: s = 0
  20.     Next
  21.     [a1].CurrentRegion = arr
  22. End Sub
复制代码

附件优化.rar

30.4 KB, 下载次数: 1

回复

使用道具 举报

 楼主| 发表于 2017-2-8 15:58 | 显示全部楼层
grf1973 发表于 2017-2-8 15:55
用VBA吧。不然以后再增加几个项目部搞死你。

我已经弄了一天了,晕乎乎呢,VBA不知咋用,,领导写个函数么
回复

使用道具 举报

 楼主| 发表于 2017-2-8 16:02 | 显示全部楼层
shihuai 发表于 2017-2-8 15:58
我已经弄了一天了,晕乎乎呢,VBA不知咋用,,领导写个函数么

表格增加或变动不知道咋个调试,我距离VBA太遥远了
回复

使用道具 举报

发表于 2017-2-8 16:13 | 显示全部楼层
表格增加变动不需要有任何改变,照点不误。
回复

使用道具 举报

发表于 2017-2-8 17:23 | 显示全部楼层    本楼为最佳答案   
本帖最后由 hupin6331 于 2017-2-8 17:25 编辑

给个函数公式。

附件优化.rar

21.39 KB, 下载次数: 6

回复

使用道具 举报

 楼主| 发表于 2017-2-9 11:12 | 显示全部楼层

SUM(SUMIFS(INDIRECT({"北京","天津","湖北"}&"项目部!C:C"),INDIRECT({"北京","天津","湖北"}&"项目部!B:B"),$B2,INDIRECT({"北京","天津","湖北"}&"项目部!D:D"),C$1))这个公式是正解

咨询个问题,这个函数结构给实用工作表名称带括号的,比如(北京)项目部
SUM(SUMIFS(INDIRECT({"(北京)","(天津)","(湖北)""}&"项目部!C:C"),........................
回复

使用道具 举报

发表于 2017-2-9 15:37 | 显示全部楼层
shihuai 发表于 2017-2-9 11:12
SUM(SUMIFS(INDIRECT({"北京","天津","湖北"}&"项目部!C:C"),INDIRECT({"北京","天津","湖北"}&"项目部!B ...

带括号或数字、空格等,需要加单引号。
  1. =SUM(SUMIFS(INDIRECT({"'(北京)项目部'","'(天津)项目部'","'(湖北)项目部'"}&"!C:C"),INDIRECT({"'(北京)项目部'","'(天津)项目部'","'(湖北)项目部'"}&"!B:B"),$B2,INDIRECT({"'(北京)项目部'","'(天津)项目部'","'(湖北)项目部'"}&"!D:D"),C$1))
复制代码


回复

使用道具 举报

 楼主| 发表于 2017-2-9 17:30 | 显示全部楼层
非常感谢各位大神的回复,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-25 17:37 , Processed in 0.247427 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表