在 Pivot table 中添加计算字段并引用 Pivot Table 的单元格

Add a calculated field in a Pivot table with a reference to a cell of the Pivot Table

我一直在尝试在数据透视表中添加一个计算字段 table。到目前为止,整个枢轴 table 已完美创建。我要添加的最后一列是计算出来的。不幸的是,到目前为止我什至无法手动完成。但是,如果我只是将下面提供的公式作为公式插入到枢轴 table 旁边,那么它就可以完美运行。

=GETPIVOTDATA('Monthly $/SU Forecast',$A,'T-Lane','Athens to GREECE')-GETPIVOTDATA('Monthly $/SU Actual',$A,'T-Lane','Athens to GREECE')

当我在宏中键入以下内容时,它会为

行显示 'Unable to get the PivotFields property of the PivotTable class'
.PivotFields("Diff").Orientation = xlDataField

整个代码部分是这样的:

.CalculatedFields.Add "Diff", "=GETPIVOTDATA('Monthly $/SU Forecast',$A,'T-Lane','Athens to GREECE')-GETPIVOTDATA('Monthly $/SU Actual',$A,'T-Lane','Athens to GREECE')"
.PivotFields("Diff").Orientation = xlDataField

我的支点Table

您的计算字段公式无效,这就是您无法手动添加的原因。根据 http://www.contextures.com/excel-pivot-table-calculated-field.html

上的文章
  • 计算字段公式不能引用主元 table 总计或 小计
  • 计算字段公式不能按地址引用工作表单元格 或按名字。
  • Sum 是唯一可用于计算字段的函数。
  • 计算字段在基于 OLAP 的数据透视表中不可用 table。

下面是显示如何设置计算字段的屏幕截图:

...结果如下:

请注意,以这种方式创建计算字段几乎已变得多余,如 Excel 2013 年及以后,您可以使用数据模型来执行此操作以及更多操作(即使您的Excel 的版本不是 PowerPivot 插件附带的 'premium' SKU 之一。

这是一个展示该方法的示例:

首先,select你的数据源,把它变成一个ExcelTable,然后创建一个新的数据透视表Table但是这次勾选对话框底部 "Add this data to the Data Model":

当您单击生成的 PivotTable 时,您会看到 PivotTable 字段对话框看起来略有不同:它将显示 Table 名称,然后在 table 下,它将列出每个字段:

右键单击该对话框中的 Table 名称,然后单击“添加度量”选项:

为度量命名,然后在对话框中键入所需的公式。 (您实际上不必输入 'Sum of' 内容...只需输入 'Forecast',您会看到一个自动完成框,您可以在其中选择所需的字段)

Bam:您在数据透视表中有一个新的计算字段Table: