ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

(SQL应用) 利用数据透视表对工作簿及工作表名称分级透视,做上年同期对比(附讲解)

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2008-12-7 11:53 | 显示全部楼层 |阅读模式
工作中经常需要把今年的数据和上年的对比,一般情况都是按照一定规律放置工作簿及工作表,利用数据透视表可以按照工作簿名称、工作表名称分级透视,从而大大提高工作效率。

[ 本帖最后由 BIN_YANG168 于 2009-5-12 20:20 编辑 ]
讲解1.gif
讲解2.gif
讲解3.gif
讲解4.gif
讲解5.gif
讲解6.gif

Test.rar

24.39 KB, 下载次数: 2650

工作簿汇总

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2008-12-7 18:47 | 显示全部楼层
谢谢楼主共享。谢谢!!!

TA的精华主题

TA的得分主题

发表于 2008-12-12 15:53 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2008-12-12 17:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
楼主能讲讲课说说怎么做的吗,谢谢!

TA的精华主题

TA的得分主题

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

gif 录制工具

有兴趣的朋友可以自己录制录制

[ 本帖最后由 lizhiman2005 于 2008-12-14 00:53 编辑 ]

录制gif.RAR

116.22 KB, 下载次数: 1012

TA的精华主题

TA的得分主题

发表于 2008-12-13 01:19 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2008-12-13 10:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
多谢楼主的分享!对多工作簿透视汇总的语法搞清楚了。深深感谢!!
如果需要试验:
1.请把楼主的附件"Test"拷到E盘下面
2.打开一个空白的excel文件
3.“菜单栏"-->"数据(D)”-->"导入外部数据(D"-->"导入数据(D)"
4.在对话框的文件类型中选择"excel 文件 (*.xls)",打开"Test"文件夹下面的"2006"或者"2007",双击其中的任一个文件,出来“选择表格”对话框
5.在“选择表格”对话框中,单击任一个表格名称,单击“确定”,出来“导入数据”对话框
6.在“导入数据”对话框中,单击"编辑查询(Q)",出来"编辑 OLE DB 查询"对话框
7.在"编辑 OLE DB 查询"对话框的命令文本下的方框内清除原有的内容,将下面这段代码粘贴进去后单击“确定”,回到“导入数据”对话框:
-----------------------------------------------------代码分界线-----------------------------------------------------------
select '2006',* from (SELECT '温州',* FROM (SELECT '1月',* FROM `E:\Test\2006\温州`.`1月$` `1月$` union all SELECT '2月',* FROM `E:\Test\2006\温州`.`2月$` `2月$` union all SELECT '3月',* FROM `E:\Test\2006\温州`.`3月$` `3月$`) union all SELECT '上海',* from (SELECT '1月',* FROM `E:\Test\2006\上海`.`1月$` `1月$` union all SELECT '2月',* FROM `E:\Test\2006\上海`.`2月$` `2月$` union all SELECT '3月',* FROM `E:\Test\2006\上海`.`3月$` `3月$`))union all select '2007',* from (SELECT '温州',* FROM (SELECT '1月',* FROM `E:\Test\2007\温州`.`1月$` `1月$` union all SELECT '2月',* FROM `E:\Test\2007\温州`.`2月$` `2月$` union all SELECT '3月',* FROM `E:\Test\2007\温州`.`3月$` `3月$`) union all SELECT '上海',* from (SELECT '1月',* FROM `E:\Test\2007\上海`.`1月$` `1月$` union all SELECT '2月',* FROM `E:\Test\2007\上海`.`2月$` `2月$` union all SELECT '3月',* FROM `E:\Test\2007\上海`.`3月$` `3月$`))
-----------------------------------------------------代码分界线-----------------------------------------------------------
8.在“导入数据”对话框中,单击"建数据透视表(P)”,出来数据透视表向导对话框
9.单击完成。
10.拖动透视表字段列表中的字段,根据需要生成透视表。
11.特别说明,字段列表中的字段:表的名称是看起来的“乱码”,工作簿名称也是“乱码”,文件夹名称还是“乱码”,拖到透视表中将其改掉即可。表中的字段都正常显示。(所谓“乱码”,类似于普通透视表中的分页字段?)

这个语法的要点类似于SQL语句中的select * from,,union all,分层嵌套。

因不知道如何录像,故做此说明。
再次感谢楼主的分享!

[ 本帖最后由 masterexcel 于 2008-12-13 11:03 编辑 ]

TA的精华主题

TA的得分主题

发表于 2008-12-13 10:37 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢分享

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-12-14 01:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
讲解已附上,供参考

TA的精华主题

TA的得分主题

发表于 2008-12-15 08:36 | 显示全部楼层
我在设置的时候,老是说from字句错误,大家帮我看看哦。
select '2006',* from (SELECT '温州',* FROM (SELECT '1月',* FROM `C:\Documents and Settings\Administrator\桌面\Test\2006\温州`.`1月$` `1月$' union all SELECT '2月',* FROM `C:\Documents and Settings\Administrator\桌面\Test\2006\温州`.`2月$` `2月$` union all
SELECT '3月',* FROM `C:\Documents and Settings\Administrator\桌面\Test\2006\温州`.`3月$` `3月$`) union all
SELECT '上海',* from (SELECT '1月',* FROM `C:\Documents and Settings\Administrator\桌面\Test\2006\上海`.`1月$` `1月$` union all SELECT '2月',* FROM `C:\Documents and Settings\Administrator\桌面\Test\2006\上海`.`2月$` `2月$` union all SELECT '3月',* FROM `C:\Documents and Settings\Administrator\桌面\Test\2006\上海`.`3月$` `3月$`)) union all
select '2007',* from (SELECT '温州',* FROM (SELECT '1月',* FROM `C:\Documents and Settings\Administrator\桌面\Test\2007\温州`.`1月$` `1月$` union all SELECT '2月',* FROM `C:\Documents and Settings\Administrator\桌面\Test\2007\温州`.`2月$` `2月$` union all SELECT '3月',* FROM `C:\Documents and Settings\Administrator\桌面\Test\2007\温州`.`3月$` `3月$`) union all
SELECT '上海',* from (SELECT '1月',* FROM `C:\Documents and Settings\Administrator\桌面\Test\2007\上海`.`1月$` `1月$` union all SELECT '2月',* FROM `C:\Documents and Settings\Administrator\桌面\Test\2007\上海`.`2月$` `2月$` union all SELECT '3月',* FROM `C:\Documents and Settings\Administrator\桌面\Test\2007\上海`.`3月$` `3月$`))
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-26 21:26 , Processed in 0.046610 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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