我一直在尝试在数据透视表中添加一个计算字段 . 到目前为止,整个数据透视表都是完美的 . 我要添加的最后一列是计算出的一列 . 不幸的是,到目前为止我甚至无法手动完成 . 但是,如果我只是在透视表旁边插入一个公式,下面提供的公式,那么它可以完美地工作 .
=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
我的数据透视表
1 回答
您的计算字段公式无效,这就是您无法手动添加它的原因 . 根据http://www.contextures.com/excel-pivot-table-calculated-field.html的文章
计算字段公式不能引用数据透视表总计或小计
计算字段公式不能按地址或名称引用工作表单元格 .
Sum是计算字段唯一可用的函数 .
基于OLAP的数据透视表中没有计算字段 .
这是一个screeshot,显示如何设置计算字段:
......这是结果:
请注意,以这种方式创建计算字段几乎是多余的,因为在Excel 2013及更高版本中,您可以使用数据模型执行此操作以及更多内容(即使您的Excel版本不是其中之一)随PowerPivot插件一起提供的“高级”SKU) .
这是一个显示该方法的示例:
首先,选择您的数据源,将其转换为Excel表,然后创建一个新的数据透视表,但这次选中对话框 "Add this data to the Data Model" 底部的框:
当你单击它生成的数据透视表时,你会看到数据透视表字段对话框看起来略有不同:它将显示表名,然后在该表下它将列出每个字段:
右键单击该对话框中的表名,然后单击“添加度量”选项:
为Measure指定名称,然后在对话框中键入所需的公式 . (你实际上不必输入那个'总和'的东西......只需键入'预测',你会看到一个自动完成框出现在你可以选择你想要的字段的地方)
Bam:你在数据透视表中有一个新的计算字段: