完成上述任一设置后,数据透视表就与源数据建立了动态关联。当源数据发生增减变化时,你只需要右键点击透视表选择刷新,即可更新显示最新的数据结果,无需重新创建透视表。
数据透视表数据源变动后如何自动更新数据?
第一种方法是通过设置源数据为自定义名称来实现动态关联。你可以使用OFFSET函数结合COUNTA函数来定义一个动态范围,例如输入公式data=offset($a$1,0,0,counta(A:A),COUNTA(1:1)),这样就能让数据透视表自动识别新增或减少的数据行。
如果你希望数据透视表在每次激活包含它的Sheet时自动刷新,可以加入VBA事件代码。在对应的工作表代码模块中写入Worksheet_Activate事件,调用PivotCache.Refresh方法,这样每次打开工作表都会自动更新数据。
第二种方法是将源数据转换为Excel表格格式。只需选中数据区域,插入表并保留默认名称如table1,然后在修改数据透视表数据源时,直接输入table1即可。这种方式同样能建立动态关联,无需手动调整范围。