ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 合并透视表出现错误在哪里?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-1-11 10:24 | 显示全部楼层 |阅读模式
请教各位老师:
    数据源09年,2010年 用SQL语句分别对应生成透视表 09年应收,2010年应收,现在合并透视表09年应收,2010年应收,出现问题,烦请老师帮忙看一下。
    谢谢,详见附件。

合并全年透视表.rar

252.11 KB, 下载次数: 84

TA的精华主题

TA的得分主题

发表于 2010-1-11 10:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
select "2009年",* from [09年应收$] union all select "2010年",* from [2010年应收$]
这句语句没错.

看了一下,你的数据源表,[09年应收$] ,[2010年应收$]此两表关联还是透视表,你想实现这两表为动态,所合并的就跟着变化?

再有,
FROM [09年应收$]  如果是区域选择的话,那得有范围,要不出来的你是以标题空白值,F1,F2,F3...怎么解释也不懂,不过像是没见过以数据透视表源为导入数据对象的...呵

[ 本帖最后由 aa7701914 于 2010-1-11 10:37 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-1-11 10:50 | 显示全部楼层
楼主的SQL有问题
select "2009年" as 年,* from [09年$] union all select "2010年" as 年,* from [2010年$]
仅作参考!

TA的精华主题

TA的得分主题

发表于 2010-1-11 10:58 | 显示全部楼层
select "2009年",* from [09年应收$] union all select "2010年",* from [2010年应收$]        你既然选择的是09年应收,为什么这里要用select "2009年",......呢,没明白你的意思。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-1-11 11:04 | 显示全部楼层

回复 3楼 亡者天下 的帖子

您好,试了,还是 不成功 ,只是将EXPR1000 替换成 年 字段

TA的精华主题

TA的得分主题

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

回复 5楼 janne.71 的帖子

您就是想把2张表结合在一起,但是为什么会出现,F1,F2,F3...这些类型,而合并在一起的又可以选择字段,200年,或是2010年,这样?

我理解应该没错吧~如果是这样的话,你试着选择相应的区域
例子
[09年应收$A5:E20]  选中表加入区域,但是你的那两个是透视表,所以不知道成不成...

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-1-11 11:40 | 显示全部楼层

回复 6楼 aa7701914 的帖子

想了一下,不行就在数据源 09年 2010年 添加字段订单应收,合并报表解决,透视表不能做数据源吗?

TA的精华主题

TA的得分主题

发表于 2010-1-11 11:57 | 显示全部楼层
这个我也不清楚,只是没有见过,所以一开始就提示这个问题了,呵呵`
如果有的话,记得发一份给我,谢谢

TA的精华主题

TA的得分主题

发表于 2010-1-11 12:16 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
参考
QQ截图未命名.png

TA的精华主题

TA的得分主题

发表于 2010-1-11 12:22 | 显示全部楼层
楼主出错的原因在于没有理解表的概念。表是由区域组成的。工作表其实就是一个大区域,其范围为:A1:IV65536。所以,当我们直接引用工作表名称做表是,实际就是引用整个工作表区域。如:
select * from [09年应收$] 实际是select * from [09年应收$A1:IV65536]
其中,表的第一行作为字段标题,而楼主的表第一行是空,属于非法字符,SQL就会自动替换成合法字符,正如结果出现的F1、F2等字段名称。
而我的答案:
SELECT "2010年应收",* FROM [2010年应收$A5:G108] UNION ALL SELECT "09年应收",* FROM [09年应收$A5:G312]
则是告诉了SQL,我的表格是从第五行开始,即第五行作为字段名称。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-28 11:38 , Processed in 0.049143 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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