举个工作例子,下面表格是销售流水数据:
现在我们对表格使用了插入,数据透视表
将商品字段放在行标签,将数量和金额放在值,得到了一个商品汇总的数据:
现在有个需求,就是当我们更新源数据表的时候,这个数据透视表也希望能够更新
方法一:手动更新法我们选中数据透视表,然后在分析选项下,点击刷新(快捷键是ALT+F5)进行快速的更新
但是,这种方法,只限于修改原始数据,如果我们新增了数据,它并不能更新:
比如我们新增了一条数据,点击刷新,它也并不能更新
方法二:套用表格样式,或透视整列如果我们有新增数据的需求,那我们在创建数据透视表第一步的时候,数据区域可以选择整列的区域A:D列
如果已经创建完了,我们可以点击更改数据源,然后将表或区域修改成A:D列的数据
但是这种方式,选取的数据源里面有空白值,所以透视出来的结果,也会有一个空白行。
如果我们不希望透视表的结果有空白行
我们可以选中原始数据,按CTRL+T,转成智能表格:
然后我们在修改数据源的时候,选中数据区域,它就会自动的变成表1,也就是超级表的数据区域
这样即可以没有了空白项,左边有数据新增的时候,我们ALT+F5刷新,也能更新结果
方法三:借助VBA代码自动刷新如果我们不想手动的去按快捷键或点击更新,数据改变的时候,想让它就自动更新
那我们可以按ALT+F11,调出开发工具VBA
我们选择对应的SHEET1表格
然后选择worksheet的Selectionchange事件
然后输入一行代码:
ActiveSheet.PivotTables("数据透视表1").PivotCache.Refresh
注意这里的透视表名字,要和对应透视表里面右键属性查看的名称对应上
这样我们更新完数据,不用点刷新,它也能自动的更新了,
因为用到了VBA代码
所以这个工作簿要另存为XLSM格式
你学会了么?动手试试吧!