ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-1-11 10:28 | 显示全部楼层
先做一个类似表17的透视,近5万条数据,WinXP+Excel2007+双核(3G)+1G内存时测试,3分钟完成。因文件过大,楼主的原表及格式有些已经删除。只保留数据库和结果。如附件 88888.rar (415.73 KB, 下载次数: 26) :

  1. select
  2.         "总计" as 客户名称,
  3.         "总计" as 日期,
  4.         "总计" as 摘要,
  5.         (select sum(iif(isnull(应收款),0,应收款)) as 应收款 from (select 客户名称,日期,款项月份,摘要,所属场馆,sum(iif(isnull(应收帐款),0,应收帐款)) as 应收款,sum(iif(isnull(应付帐款),0,应付帐款)) as 应付款,sum(iif(isnull(已收帐款),0,已收帐款)) as 已收款,sum(iif(isnull(已付帐款),0,已付帐款)) as 已付款 from [数据库$] group by 客户名称,日期,款项月份,摘要,所属场馆)) as 应收款,
  6.         (select sum(iif(isnull(已收款),0,已收款)) as 已收款 from (select 客户名称,日期,款项月份,摘要,所属场馆,sum(iif(isnull(应收帐款),0,应收帐款)) as 应收款,sum(iif(isnull(应付帐款),0,应付帐款)) as 应付款,sum(iif(isnull(已收帐款),0,已收帐款)) as 已收款,sum(iif(isnull(已付帐款),0,已付帐款)) as 已付款 from [数据库$] group by 客户名称,日期,款项月份,摘要,所属场馆)) as 已收款,
  7.         (select sum(iif(isnull(应收款),0,应收款))-sum(iif(isnull(已收款),0,已收款)) as 未收款 from (select 客户名称,日期,款项月份,摘要,所属场馆,sum(iif(isnull(应收帐款),0,应收帐款)) as 应收款,sum(iif(isnull(应付帐款),0,应付帐款)) as 应付款,sum(iif(isnull(已收帐款),0,已收帐款)) as 已收款,sum(iif(isnull(已付帐款),0,已付帐款)) as 已付款 from [数据库$] group by 客户名称,日期,款项月份,摘要,所属场馆)) as 未收款
  8. from
  9.         (select 客户名称,日期,款项月份,摘要,所属场馆,sum(iif(isnull(应收帐款),0,应收帐款)) as 应收款,sum(iif(isnull(应付帐款),0,应付帐款)) as 应付款,sum(iif(isnull(已收帐款),0,已收帐款)) as 已收款,sum(iif(isnull(已付帐款),0,已付帐款)) as 已付款 from [数据库$] group by 客户名称,日期,款项月份,摘要,所属场馆)
  10. union
  11. select
  12.         a.客户名称,
  13.         a.日期,
  14.         a.摘要,
  15.         a.应收款,
  16.         a.已收款,
  17.         (
  18.         select
  19.                   sum(iif(isnull(应收款),0,应收款))-sum(iif(isnull(已收款),0,已收款)) as 未收款
  20.         from
  21.                   (select 客户名称,日期,款项月份,摘要,所属场馆,sum(iif(isnull(应收帐款),0,应收帐款)) as 应收款,sum(iif(isnull(应付帐款),0,应付帐款)) as 应付款,sum(iif(isnull(已收帐款),0,已收帐款)) as 已收款,sum(iif(isnull(已付帐款),0,已付帐款)) as 已付款 from [数据库$] group by 客户名称,日期,款项月份,摘要,所属场馆)b
  22.         where
  23.                   a.客户名称=b.客户名称
  24.                 and
  25.                 a.日期>=b.日期
  26.         ) as 未收款
  27. from
  28.         (select 客户名称,日期,款项月份,摘要,所属场馆,sum(iif(isnull(应收帐款),0,应收帐款)) as 应收款,sum(iif(isnull(应付帐款),0,应付帐款)) as 应付款,sum(iif(isnull(已收帐款),0,已收帐款)) as 已收款,sum(iif(isnull(已付帐款),0,已付帐款)) as 已付款 from [数据库$] group by 客户名称,日期,款项月份,摘要,所属场馆)a
  29. order by
  30.         客户名称 asc,
  31.         日期 asc
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-1-11 11:19 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回21楼

我先看一下吧  我用的是EXCLE 2003  楼上费心了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

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

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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