ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6037|回复: 21

[求助] 已有根据数据产生的类似明细帐的透视表,求增加行区域字段时,余额可以自动计算

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-12-31 15:06 | 显示全部楼层 |阅读模式
已有根据数据生成的、类似明细帐的透视表,当行区域增加字段比如摘要时,求自动计算的余额。见附件  请高手赐教

99.rar

3.45 KB, 下载次数: 56

TA的精华主题

TA的得分主题

发表于 2009-12-31 16:07 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
你给的要求,个人认为只有在函数中能够达到,
在数据透视表做了个新表,黄色部分看到最后结果

99.rar

4.93 KB, 下载次数: 55

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-12-31 16:54 | 显示全部楼层
函数我做之前考虑过,但是格式和明细帐就有区别了,还有高手愿意赐教吗

TA的精华主题

TA的得分主题

发表于 2009-12-31 16:58 | 显示全部楼层
请见附件,是否可以?

9月以后需要修改SQL代码。

以下代码通用1-12月:

  1. select
  2. a.* ,
  3. b.已收款 as 已收款,
  4. b.已收,
  5. b.日期 as 收款日期
  6. from
  7. (
  8. select
  9. *,
  10. 摘要 as 应收,
  11. left(摘要,len(摘要)-2) as 月份
  12. from
  13. [Sheet1$a1:e11]
  14. where
  15. left(摘要,1)<>'收'
  16. )a
  17. left join
  18. (
  19. select
  20. *,
  21. 摘要 as 已收,
  22. right(摘要,len(摘要)-1) as 月份
  23. from
  24. [Sheet1$a1:e11]
  25. where
  26. left(摘要,1)='收'
  27. )b
  28. on
  29. a.客户名称&a.月份=b.客户名称&b.月份
复制代码

[ 本帖最后由 masterexcel 于 2010-1-1 16:00 编辑 ]

99.rar

11.08 KB, 下载次数: 73

TA的精华主题

TA的得分主题

发表于 2010-1-1 10:06 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
学习4楼的SQL用法,虽然很复杂,用起来很方便!

TA的精华主题

TA的得分主题

发表于 2010-1-1 09:30 | 显示全部楼层
用引入外部数据不能做吗? 自动更新的
不太明白楼主的意思 试做了一下

[ 本帖最后由 毒影 于 2010-1-1 09:32 编辑 ]

11.rar

5.4 KB, 下载次数: 23

11.rar

5.4 KB, 下载次数: 15

TA的精华主题

TA的得分主题

发表于 2010-1-1 21:50 | 显示全部楼层
LZ应看下四楼给的解法是否是自己需要的,我以为没有达到要求。
但四楼用SQL写句子来建立数据透视表的方法还是值得学习的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-1-4 21:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
感谢各位热情相助,我的原意是建立一个类似于日记帐格式的透视表,也就是最后的未收款余额,如果是同一个客户,是累计相加的;也就是表中黄色部分的数据。

4楼的用法很巧妙,但是格式和我预想的有点差距(列数好象也多了)

既然没有太好的办法,还是用2楼的方法。格式比较接近

再次感谢各位!

TA的精华主题

TA的得分主题

发表于 2010-1-6 14:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
说明:源数据应收款与已收款中的空白单元格需用0值填充,否则出错。
搞定 99.rar (14.06 KB, 下载次数: 50)
99结果.GIF

  1. select
  2.         "总计" as 客户名称,
  3.         "总计" as 日期,
  4.         "总计" as 摘要,
  5.         (select sum(应收款) as 应收款 from [Sheet1$a1:e11]) as 应收款,
  6.         (select sum(已收款) as 已收款 from [Sheet1$a1:e11]) as 已收款,
  7.         (select sum(应收款)-sum(已收款) as 未收款 from [Sheet1$a1:e11]) as 未收款
  8. from
  9.         [Sheet1$a1:e11]
  10. union
  11. select
  12.         a.客户名称,
  13.         a.日期,
  14.         a.摘要,
  15.         a.应收款,
  16.         a.已收款,
  17.         (select sum(应收款)-sum(已收款) as 未收款 from [Sheet1$a1:e11]b where a.客户名称=b.客户名称 and a.日期>=b.日期) as 未收款
  18. from
  19.         [Sheet1$a1:e11]a


复制代码

[ 本帖最后由 masterexcel 于 2010-1-6 15:15 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-1-9 09:32 | 显示全部楼层
9楼的格式是我想要的,真是太好了先感谢一下,
但是我不太会SQL语句,能否把操作方法介绍一下?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-28 08:28 , Processed in 0.059583 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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