![数据透视表求和正数和负数,无论行标签范围中的符号如何](https://linux22.com/image/1313092/%E6%95%B0%E6%8D%AE%E9%80%8F%E8%A7%86%E8%A1%A8%E6%B1%82%E5%92%8C%E6%AD%A3%E6%95%B0%E5%92%8C%E8%B4%9F%E6%95%B0%EF%BC%8C%E6%97%A0%E8%AE%BA%E8%A1%8C%E6%A0%87%E7%AD%BE%E8%8C%83%E5%9B%B4%E4%B8%AD%E7%9A%84%E7%AC%A6%E5%8F%B7%E5%A6%82%E4%BD%95.png)
我正在使用 Excel 2010,数据透视表功能。
我想汇总代理商总销售额的范围。问题是有些销售人员有贷方通知单。这意味着数字显示为负数。我想要正数和负数之和,无论它们的符号是什么。
我设法通过手动输入来完成此操作,{=SUM(ABS(B96:B102))}
如下图所示。
但是,我的透视表是按月和产品过滤的。不同的过滤方式会有不同的行记录。如果我硬编码公式,它也不灵活。我该如何让它变得灵活?我确实尝试过GetPivotData
,但它不支持按范围过滤。
有人可以帮忙吗?
答案1
嗯,这要看情况。你在问题中输入的公式可以通过使用计算字段。只需用公式为数据透视表定义一个新的计算字段=ABS(Sales Amount)
并显示它即可Sum of Sales Amount
。
但是,如果您的原始数据包含特定销售代理的正值和负值,则您需要采取不同的方法。上述计算字段对已求和的原始数据进行操作。
例如,如果我们有以下原始数据:
Name Value
A 3
A -2
B 4
B -5
然后我们创建一个数据透视表并添加一个计算字段 AbsValue,公式为 =ABS(Value),我们得到以下结果
Sum of Value Sum of AbsValue
A 1 1
B -1 1
要从原始数据中获取所有绝对值的总和,您需要向原始数据添加一个新列并在那里执行 ABS 函数:
Name Value AbsValue
A 3 3
A -2 2
B 4 4
B -5 5
Sum of Value Sum of AbsValue
A 1 5
B -1 9
答案2
在您正在使用的行标签的字段设置下,转到第二个选项卡并单击类似 的选项show field for no data
。然后,行标签将保持静态,如果没有与之关联的数据,它将只是空白,但您的公式将起作用。