【问题标题】:Add a calculated field in a Pivot table with a reference to a cell of the Pivot Table在数据透视表中添加计算字段并引用数据透视表的单元格
【发布时间】:2018-03-30 06:53:27
【问题描述】:

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

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

当我在宏中键入以下内容时,它会显示“无法获取数据透视表类的 PivotFields 属性”

.PivotFields("Diff").Orientation = xlDataField

整个代码是这样的:

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

我的数据透视表

【问题讨论】:

  • 您是否尝试过将数据透视表布局从紧凑形式更改为大纲形式?
  • 不.. 我不确定该怎么做!
  • 它在“设计选项卡”->“报告布局”->“以大纲形式显示”它可能有助于解决您的问题

标签: vba excel pivot-table calculated-field


【解决方案1】:

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

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

这是一个显示如何设置计算字段的截图:

...结果如下:

请注意,以这种方式创建计算字段几乎是多余的,就像在 Excel 2013 及更高版本中一样,您可以使用数据模型来执行此操作以及更多功能(即使您的 Excel 版本不是PowerPivot 插件附带的“高级”SKU 之一)。

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

首先,选择您的数据源,将其转换为 Excel 表格,然后创建一个新的数据透视表,但这次选中对话框底部的框“将此数据添加到数据模型”

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

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

为 Measure 命名,然后在对话框中键入所需的公式。 (您实际上不必输入“总和”的东西......只需输入“预测”,您就会看到一个自动完成框出现,您可以在其中选择所需的字段)

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

【讨论】:

  • 感谢您的反馈!那么,您知道如何在数据透视表的单元格之间的数据透视表内进行计算吗??
  • 查看我修改后的答案。
  • 我将提供我的数据透视表的屏幕截图,以便更清楚......我实际上想要做的是在我的数据透视表中添加一个新列,它将打印差异的结果在“每月预测 $/SU”和“实际 $/SU”列之间。所以,我想有一列三行,值为 0,11-0,28=-0,17 | 0,33-0,35=-0,02 | 0,17-0,18=-0,01。所以,我真正想要的是一个列来打印数据透视表的单元格值之间的差异。你认为这可能吗?再次感谢您的宝贵时间!
  • 好的。请注意我上面回答中的最后一行:以这种方式创建计算字段几乎是多余的,就像在 Excel 2013 和更高版本中一样,您可以使用数据模型来执行此操作以及更多其他操作。试一试 Google,并查看 ExcelIsFun YouTube 频道,了解有关如何执行此操作的大量示例。
  • 好的,那么您可以使用 PowerPivot 来做您想做的事。即使没有那个 SKU,您仍然可以使用数据模型和度量来实现这一点,这就像类固醇上的计算字段一样。 (请参阅我在 stackoverflow.com/questions/40614801/… 的回答,其中包含有关非 PowerPivot 使用数据模型的链接)。但是您也可以在没有数据模型的情况下执行此操作,使用我在 stackoverflow.com/questions/38859656/… 讨论的从属表方法@
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多