我试过这个,但没有成功。我在 Excel 表 (Excel 2010) 中转储了数据。第一列是月份。第二列是日期。第三列是数值数据。我在每列上都应用了过滤器以获取数据透视表上的数据。每个日期都有条目。有时一个日期有多个条目。现在,当我运行数据透视表时,我得到了正确的总和,但是当我选择平均值时,平均值仅对与日期相关的单个条目准确。我需要计算单个日期的多个数据条目的平均值。以下是示例:
十一月 11/1/13 30
十一月 11/2/13 25
十一月 11/3/13 20
十一月 11/3/13 25
现在,当我运行数据透视表并选择对数据进行平均时,它会将平均值计算为(30 + 25 + 20 + 25)/4 = 20(因为有 4 个条目,所以总和除以 4)
这是不可取的。
我需要将第 3 和第 4 个条目作为日期 11/3/13 的一个条目进行计算。因此,所需的输出是(30 + 25 + (20 + 25))/3 = 33.33。
我希望这个例子能清楚地说明需求。我需要一个解决方案。我们如何修改 Pivot,以便平均值的计算不仅仅基于条目数,而是基于天数来计算。
欢迎提出您的建议。
答案1
您需要向源数据添加一列,用于计算每个执行人员的不同日期。在 G2 中输入此公式
=IF(SUMPRODUCT(($B$2:$B2=B2)*($C$2:$C2=C2))>1,0,1)
复制下来。将列命名为 DistinctDates。转到数据透视表并更改数据源以包含列 G。刷新数据透视表。这一点很重要,所以我再说一遍:刷新数据透视表!
现在创建一个计算字段。在数据透视表工具中,单击“字段、项目和集”的下拉菜单并创建一个计算字段。
将字段命名为 MyAverage 并输入公式
='Products passed for packaging' /DistinctDates
将该字段作为求和字段添加到数据透视表中。行现在将显示项目总数,但总计行将显示基于天数而不是项目数的平均值。
在屏幕截图中,我打开了高管的小计,它们显示在同一行上