Excel精英培训网

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

[已解决]自定义动态汇总难题,跪求答案!

[复制链接]
发表于 2014-11-28 01:48 | 显示全部楼层 |阅读模式
5学分



最佳答案
2014-11-28 02:42
bfs1981 发表于 2014-11-28 01:50
附件奉上

利用VBA代码完成
335269-VBA-自动汇总数据-示例最后一步.rar (22.17 KB, 下载次数: 9)

 楼主| 发表于 2014-11-28 01:50 | 显示全部楼层
附件奉上

示例最后一步.zip

37.54 KB, 下载次数: 4

回复

使用道具 举报

发表于 2014-11-28 02:42 | 显示全部楼层    本楼为最佳答案   
bfs1981 发表于 2014-11-28 01:50
附件奉上

利用VBA代码完成
335269-VBA-自动汇总数据-示例最后一步.rar (22.17 KB, 下载次数: 9)
回复

使用道具 举报

发表于 2014-11-28 08:58 | 显示全部楼层
本帖最后由 faliming7 于 2014-11-28 09:01 编辑

不在原贴提问又开新贴不利于大家学习哦·!
目前的问题可以通过修改公式解决,如“其他费用”几个字是在B列最下一行,那么B列的公式就可以改成=IF(SUM((数据源!$G$2:$G$100=$B$6)*(数据源!$M$2:$M$100<>0))=ROW()-7,INDEX(数据源!B:B,SMALL(IF((数据源!$G$2:$G$100=$B$6)*(数据源!$M$2:$M$100<>0),ROW($2:$100),4^8),ROW($A1))),IF(SUM((数据源!$G$2:$G$100=$B$6)*(数据源!$M$2:$M$100<>0))=ROW()-8,"其他费用",""))
但是这里又遇到一个问题,就是你是提前把所有的公式下拉了,以期望得到只修改B6单元格的公司名称,内容就全部显示。这样的话会遇到一个打印的问题,因此打印区域又要做些设置。设置打印区域,然后在插入-名称里找到Print_Area这个名称,把公式改成=OFFSET(想要的示例A!$A$1,,,8+SUM((数据源!$G$2:$G$100=想要的示例A!$B$6)*(数据源!$M$2:$M$100<>0)),8)使打印区域成为一个自动适应的区域即可。
示例最后一步.rar (26.41 KB, 下载次数: 1)
回复

使用道具 举报

 楼主| 发表于 2014-11-28 11:31 | 显示全部楼层
那么的帅 发表于 2014-11-28 02:42
利用VBA代码完成

真心谢谢这么晚解答我的问题,VBA很好,虽然有些地方不懂,但我会慢慢研究,有这个思路就好
回复

使用道具 举报

 楼主| 发表于 2014-11-28 11:40 | 显示全部楼层
faliming7 发表于 2014-11-28 08:58
不在原贴提问又开新贴不利于大家学习哦·!
目前的问题可以通过修改公式解决,如“其他费用”几个字是在B列 ...

谢谢版主的提醒,没意识到还有这一层
那我在这边加一个链接吧
相关贴
http://www.excelpx.com/thread-335198-1-1.html

真心感谢版主给的思路。



回复

使用道具 举报

 楼主| 发表于 2014-11-28 14:38 | 显示全部楼层
那么的帅 发表于 2014-11-28 02:42
利用VBA代码完成

老师你好,其中,运费如果是0的话,则不显示这一行
换个意思,也就是说:只筛选产生运费的那些行
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 07:09 , Processed in 0.346365 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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