批量更改Excel数据透视表字段汇总方式

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

你可能感兴趣的:(excel)