有时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月”,这在以前的版本中还需用其他语句来实现。