我的补助总额是通过对给定主题的项目列值求和而生成的(对于每个主题,我都有一个项目列表,我想对这些项目的值进行总计)。项目的值可以取负值,我的总计应该是正值和负值的总和。我需要根据总额的绝对值选择前 20 行。解决方案必须是动态的 - 我无法将值从数据透视表复制到单独的工作表并在那里对其进行排序。我试图将“计算字段”定义为,=ABS(SUM(VALUE))
但它对项目的绝对值求和。
答案1
该问题已被 Microsoft 确认...请参阅http://support.microsoft.com/kb/211470/en-us。
但我认为实现这一点的一种方法是在数据透视表中使用计算项。例如,如果你有这样的数据集:
id | value
--
1 | 300
--
2 | -400
--
3 | -500
--
4 | 600
--
使用此公式的计算项:=SUM(ABS(id[1])+ABS(id[2])+ABS(id[3])+ABS(id[4]))
将产生结果 1800,而不是数据透视表总计的 0。请注意,您的数据集中需要有一个“id”列。在计算字段中,,id[i]
表示数据i
透视表中显示的项目编号。对于您的情况,您必须迭代公式直到 20。
如果有很多行或者行数可能有所不同,您可以查看宏来自动构建计算项。