ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 能对数据项、列字段进行动态分组吗?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-2-6 12:23 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
举个例子,现有一个名字字段,有10人,甲 乙 丙丁 戊 己 庚 辛 壬 癸,我想分成两组,前后5人各为一组,但现有数据表里只有前8人,所以在透视表里对数据项分组时,就只能“甲 乙 丙丁 戊”分A组,“己 庚 辛”分B组,下次如果数据表里增加了“壬 癸”两人的记录,就只能重新分组了,能否事先给这两人分组呢?

TA的精华主题

TA的得分主题

发表于 2010-2-6 12:37 | 显示全部楼层

回复 1楼 weg 的帖子

看具体,一般可以透过插入数字辅助列或利用SQL解决.

TA的精华主题

TA的得分主题

发表于 2010-2-6 12:54 | 显示全部楼层
用SQL导入数据 吧
select "组1" as 分组,人名,分数 from [Sheet1$] where 人名 in ("甲1","甲2","甲3","甲4","甲5") union all select "组2" as 分组,人名,分数 from [Sheet1$] where 人名 in ("甲6","甲7","甲8","甲9","甲10")

TA的精华主题

TA的得分主题

发表于 2010-2-6 14:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 donghan 于 2010-2-6 12:54 发表
用SQL导入数据 吧
select "组1" as 分组,人名,分数 from [Sheet1$] where 人名 in ("甲1","甲2","甲3","甲4","甲5") union all select "组2" as 分组,人名,分数 from [Sheet1$] where 人名 in ("甲6","甲7","甲8"," ...



不对呀,这样后面输入的名字还是不在第二组呀

TA的精华主题

TA的得分主题

发表于 2010-2-6 15:05 | 显示全部楼层
翻书看了,应这样的 IN就改为NOT   IN

select "组1" as 分组,人名,分数 from [Sheet1$] where 人名 in ("甲1","甲2","甲3","甲4","甲5") union all select "组2" as 分组,人名,分数 from [Sheet1$] where 人名 NOT   IN ("甲1","甲2","甲3","甲4","甲5")

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-2-6 18:28 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 donghan 于 2010-2-6 12:54 发表
用SQL导入数据 吧
select "组1" as 分组,人名,分数 from [Sheet1$] where 人名 in ("甲1","甲2","甲3","甲4","甲5") union all select "组2" as 分组,人名,分数 from [Sheet1$] where 人名 in ("甲6","甲7","甲8"," ...

这个办法还不错,能解决我前面描述的问题。但我前面描述的不是我的本意,我的本意是:透视表是一个固定的表格,行字段固定有甲1","甲2","甲3","甲4","甲5“,”甲6","甲7","甲8","甲9","甲10"十行,按照前面的解决方法,的确是不用重新分组了,但如果数据表里只有甲1到甲5,那么生成的透视表里还是没有B组数据项。有办法解决这个问题吗?

TA的精华主题

TA的得分主题

发表于 2010-2-8 13:39 | 显示全部楼层
原帖由 weg 于 2010-2-6 18:28 发表

这个办法还不错,能解决我前面描述的问题。但我前面描述的不是我的本意,我的本意是:透视表是一个固定的表格,行字段固定有甲1","甲2","甲3","甲4","甲5“,”甲6","甲7","甲8","甲9","甲10"十行,按照前面的解决 ...

你的本意是想怎样分组呢?

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-2-8 18:36 | 显示全部楼层
真实的问题如下图,表格的格式是固定的,但数据却不一定是完整的,所以生成的透视表行列的各项是不完整的,比如说数据源里没有“国有联营企业”,那么生成的透视表里肯定就没有这一行,我的要求是要有。
找到一个折衷的办法了,别外再建一个相同结构的空表数据源,把完整的行业信息和登记类型信息都填充进去,再用union all语句合并导入,就可以了,下面该图就是最后生成的结果,用excel2010的压缩布局。感谢donghan兄给我的启发。
2010-02-08_18_23_51.png

TA的精华主题

TA的得分主题

发表于 2010-2-9 11:52 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

回复 1楼 weg 的帖子

楼主做一下动态透视表
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

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

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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