jquery 数据透视表 数据透视表getpivotdata_jquery 数据透视表

jquery 数据透视表 数据透视表getpivotdata_计算机表格中如何计算数据透视表_02

“成功生成一张数据透视表,有得时候只是数据处理的开始。当你想对数据透视表中数据进行计算时,你是否有曾疑惑过,为什么填充柄变得无效了?

案例

jquery 数据透视表 数据透视表getpivotdata_数据_03

如果需要对数据透视表中的B列、C列进行计算,并在J列中求得结果。火箭君猜,默认的操作可能会是这样:

jquery 数据透视表 数据透视表getpivotdata_数据_04

然后……

一旦使用填充柄后,所有的结果居然都一样……仔细检查公式后,你肯定会发现,从J6:J10的公式其实是一模一样的。

肿么办?

解决方案

理解GETPIVOTDATA函数

我们可以先理解下GETPIVOTDATA函数的用法。

为了保证数据引用的准确性,在默认引用数据透视表中的数据时,Excel会使用GETPIVOTDATA函数,并加入条件限制,从而实现绝对引用。比如,

=GETPIVOTDATA("求和项:销售额",$A$3,"区域","非洲","财年",2012)

引用了一个"区域"为"非洲"以及"财年"为"2012"的"求和项:销售额"。

这也是造成填充柄失效的原因。

解法一:将绝对引用变成相对引用

jquery 数据透视表 数据透视表getpivotdata_数据_05

由于2012是一个限制条件,因此我们可以将"区域"所对应的条件,从"非洲"改成A6单元格。

不过很明显,这样操作还是有弊端的。就是J10单元格对应的总计计算,并没有快速填充成功。这其实是因为,无论是总计还是分类汇总,他们在Excel中的表达式与数据字段并不相同。

因此用这种方式,你还可能需要进一步手动调整总计和分类汇总相关的计算结果。

解法二:关闭默认的GETPIVOTDATA函数

jquery 数据透视表 数据透视表getpivotdata_字段_06

另一个方法可能更为直接,那就是关闭默认引用GETPIVOTDATA函数。

你可以按照以上动图的操作关掉GETPIVOTDAT函数,这样对于数据透视表的计算就和普通表格没有区别了。甚至,当透视表的某些结构发生变化时,计算还可以继续存在。

这法子,是不是更为直接和快速?