有时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”指定值字段汇总方式为“平均值”。如果要按其他方式汇总,可参考下表进行修改:
序号 | 计算类型 | 对应数字 | 英文代码 |
1 | 求和 | -4157 | xlSum |
2 | 计数 | -4112 | xlCount |
3 | 平均值 | -4106 | xlAverage |
4 | 最大值 | -4136 | xlMax |
5 | 最小值 | -4139 | xlMin |
6 | 乘积 | -4149 | xlProduct |
7 | 数值计数 | -4113 | xlCountNums |
8 | 标准偏差 | -4155 | xlStDev |
9 | 总体标准偏差 | -4156 | xlStDevP |
10 | 方差 | -4164 | xlVar |
11 | 总体方差 | -4165 | xlVarP |
12 | 未定义 | 1000 | xlUnknown |
如要将值字段的汇总方式批量改为“最大值”,将代码中“pf.Function = xlAverage”改为“pf.Function = xlMax”。
3.汇总方式更改后,数据透视表中的字段名称会自动更改,如“求和项:1月”自动改为“平均值项:1月”,这在以前的版本中还需用其他语句来实现。