ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[原创] 不用Offset,利用列表功能制作动态数据透视表

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-5-29 09:58 | 显示全部楼层 |阅读模式
最近学习列表功能的时候,听说可以不用Offset制作动态数据透视表。在网上搜索了一下,发现这样的帖子很少,EH中的一个(http://www.excelhome.net/post/343.htm),经过研究发现还是通过Offset来完成的,当增加一列的时候,透视表刷新后,依然无法出现新的字段。
如图1,图2

如果利用Offset的方式设置数据区域,就可以到达动态数据透视表的效果,但是这样就不是本帖所需要的。怎么弄呢?
关键就是找到一个名称,列表区域名称,经过多次测试发现,当有列表的时候,往往有“数据自动筛选”,而对于自动筛选区域,Excel有一个隐藏的名字“_FilterDatabase”
也许有的人就认为,如果这样,就不需要列表功能了。问题是这样的:
如果只是自动筛选的话,_FilterDatabase 这个名称所表示的区域子能是最开始的区域,当新增行、或列的时候,区域不会自动变化。这样就不能形成动态的数据透视表。
所以,当使用列表功能的时候,_FilterDatabase的区域可以随着行、列的增加而发生变化,这个区域不就是我们需要的吗?
测试,(注意,输入数据区域为_FilterDatabase)
透视表向导
如图4
最开始
图5
新增一列(别忘刷新数据透视表)
图6
好了,这样我们就得到了所需要的,大家可以尝试新增一行后数据是否有变化进行测试。

2009-9-22 更新部分*******
根据莫悠悠同学的介绍,发现我这个方法在2007版本中存在问题,问题是:2007中多了一个命名:列表1,这个数字可以变化,而这个命名能够很好的代替_FilterDatabase命名,而_FilterDatabase却出现问题,不能随列表(2007中该名称为表)的扩展而扩展,这个也是悠悠同学所描述出现情况的原因。具体见33楼附近。
那在2007中能不能再使用_FilterDatabase,答案是可以的。不过方法要改一下。就是不再使用列表,而是对数据区域进行筛选。例如,对一个已经筛选了数据区域的右边增加一列,默认情况下是不会将这列纳入到筛选区域,这个时候,如果我点两次“筛选”按钮,这样就把新增的一列纳入到了筛选区域,是_FilterDatabase扩充,而这扩充过程是一个删除,重新建立命名的过程。这样,数据透视表又能根据_FilterDatabase进行扩展。
测试用2007版本见图7

[ 本帖最后由 deweyfbi 于 2009-9-22 23:27 编辑 ]

网上例子

网上例子

网上例子

网上例子

定义名称

定义名称

数据透视表向导

数据透视表向导

测试图

测试图

测试图

测试图

图7

图7

测试数据.rar

9.96 KB, 下载次数: 1369

测试数据

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-5-29 10:23 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-5-29 10:32 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-5-29 11:35 | 显示全部楼层
哈哈,LZ看来也是很早就入手数透表应用大全了

谢谢分享

TA的精华主题

TA的得分主题

发表于 2009-5-29 12:56 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-5-29 20:23 | 显示全部楼层

回复 6楼 zzzdbg 的帖子

就是先建立列表 ,然后通过数据透视表向导建立数据透视表,不过原数据填写“_FilterDatabase“ ,这个名称是一个隐藏的名称,然后点击下一步完成就可以了

[ 本帖最后由 deweyfbi 于 2009-5-29 20:25 编辑 ]

TA的精华主题

TA的得分主题

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

回复 5楼 bibisin 的帖子

呵呵,也是偶尔研究研究。

TA的精华主题

TA的得分主题

发表于 2009-5-29 21:17 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-5-30 15:53 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-5-30 17:07 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
学习了! filterdatabase数据区域代替offset动态引用.
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-5-19 02:31 , Processed in 0.042189 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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