有时Excel数据透视表中的值字段较多,我这有64个值字段,因为数据默认汇总方式是“求和”。如果要全部更改其汇总方式,如将下图数据透视表中所有值字段的汇总方式由“求和”改为“平均值”,手动逐个修改费时费力。
Excel虽没有提供直接的批量更改方法,但在Excel 中,用一行VBA代码可快速实现批量更改,方法是:
(1)打开VBA编辑器,打开“窗口”
在视图-下有“宏”选项
输入宏名字,点击创建
再在窗口输入: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月”,这在以前的版本中还需用其他语句来实现。