有时Excel数据透视表中的值字段较多,如果要全部更改其汇总方式,如将下图数据透视表中所有值字段的汇总方式由“求和”改为“平均值”,手动逐个修改费时费力。
Excel虽没有提供直接的批量更改数据透视表中的值的方法,但在Excel 2013中,用一行VBA代码可快速实现批量更改,方法是:
1、选择数据透视表所在的工作表。
2、按Alt+F11,打开VBA编辑器。按Ctrl+G打开“立即窗口”。
3、在“立即窗口”中粘贴下列代码:
For Each pf In ActiveSheet.PivotTables("数据透视表1").DataFields: pf.Function = xlAverage: Next
将光标定位到语句末尾按回车键,即可将数据透视表中全部值字段的汇总方式改为“平均值”。
说明:
1、“ActiveSheet.PivotTables("数据透视表1")”指定的数据透视表名称为“数据透视表1”,需根据实际进行修改。在Excel 2013中,通过选择“数据透视表工具-分析”选项卡,在功能区的最左侧可看到数据透视表的名称。
2、“pf.Function = xlAverage”指定值字段汇总方式为“平均值”。如果要按其他方式汇总,可参考下表进行修改:
xlSum求和
xlCount计数
xlAverage平均值
xlMax最大值
xlMin最小值
xlProduct乘积
xlCountNums数值计数
xlStDev标准偏差
xlStDevP总体标准偏差
xlVar方差
xlVarP总体方差
xlUnknown不指定任何汇总方式
如要将值字段的汇总方式批量改为“最大值”,将代码中“pf.Function = xlAverage”改为“pf.Function = xlMax”。
3、汇总方式更改后,数据透视表中的字段名称会自动更改,如“求和项:1月”自动改为“平均值项:1月”,这在以前的版本中还需用其他语句来实现。