Excel 总计列的自定义公式
我经常遇到一个问题,即我想在透视表的值区域中使用的公式与我想在该行的总计列中使用的公式不同。我通常希望对值求和,但我希望求和的平均值。如果我在列标签上旋转日期,在行标签上旋转肉类类型,在值中旋转求和顺序,通常会得到以下结果Excel 总计列的自定义公式,excel,excel-2010,pivot-table,powerpivot,Excel,Excel 2010,Pivot Table,Powerpivot,我经常遇到一个问题,即我想在透视表的值区域中使用的公式与我想在该行的总计列中使用的公式不同。我通常希望对值求和,但我希望求和的平均值。如果我在列标签上旋转日期,在行标签上旋转肉类类型,在值中旋转求和顺序,通常会得到以下结果 Row Lables | Day 1 | Day 2 | Day 3 | Grand Total ________________________________________________ Beef | 100 | 105 | 102 | 3
Row Lables | Day 1 | Day 2 | Day 3 | Grand Total
________________________________________________
Beef | 100 | 105 | 102 | 307
Chicken | 200 | 201 | 202 | 603
我得到了每天的总和,以及总计列中所有天数的总和。以下是我想要的:
Row Lables | Day 1 | Day 2 | Day 3 | Grand Total (Avg of Day Totals)
________________________________________________
Beef | 100 | 105 | 102 | 102.3
Chicken | 200 | 201 | 202 | 201.0
在这种情况下,订单仍然按天计算,但总计现在是总和的平均值。我现在要做的是复制和粘贴数据轴到一个单独的表,然后计算平均值。如果有一种方法可以用一个定制的Grand Total列来实现这一点,那将是难以置信的。这是Pivot表对我来说最大的缺点之一,但我希望这是由于我的无知造成的,事实往往如此。谢谢你的帮助 我想不出一个“好”的方法,但这里有一个选择。再次将Amount字段添加到数据区域,并将操作更改为Average。然后使用条件格式隐藏数据区域中的平均值,并隐藏总区域中的总和
您最好在do it Yourself透视表中使用一些数组公式。您失去了数据透视表的优点,但获得了更大的数据灵活性。您可以编写一个度量来检查特定筛选器上下文中的“行”数,并将其嵌套在IF()中以确定要使用的行数 如果使用PowerPivot V2,则:
=IF(HASONEVALUE(Calendar[Day]), SUM(AMOUNT), AVERAGE(AMOUNT))
如果使用PowerPivot V1,则:
=IF(COUNTROWS(Calendar[Day])=1, SUM(AMOUNT), AVERAGE(AMOUNT))
两者的作用是相同的,它们在给定上下文中评估表中的行数,当肉类型为“牛肉”时,临时筛选的表有一行。如果它没有一行,那么它将沿着平均值()的路径前进
这假设您的列标题“天”位于一个名为Calendar的表中(如果您没有使用单独的日历表,则您缺少PowerPivot IMO最强大的功能)。
雅各布