我创建了一个数据透视表,并且“总计”列中同时包含负值和正值。
我的目的是只显示正的总计值。
谢谢大家的指导。
Doug 编辑:这是源数据的图像:
答案1
使用可以使用值过滤器为此目的。在行标签列,通常每行包含一个不同的值,例如示例中的 ACC_NO。
这是一个隐藏所有负数总数的简单示例(第 3 行)。我选择了“季度”列来保存过滤器(更多信息见下文)。
输入值过滤器,只需进入要应用过滤器的列的过滤器下拉菜单:
如何选择对哪一列应用总计过滤器?
请注意,我选择对 QUARTER 而不是 ITEM 进行过滤,因为此列的元素未分组。因此,在这种情况下,过滤器将应用于每一行。
如果我改为在项目列上执行相同的值过滤(我们可以看到项目 B 已分组),那么该过滤器将应用于小计对于每个组。例如,由于项目 B 的 Q1 和 Q2 之和为负数 (-5),因此项目 B 的两行都将被过滤掉。
在您的样本中,由于最左边的 ACC_NO,所有行都是唯一的,因此将过滤器放在任何列中都会得到相同的结果。
最后的想法:
- 如果“值”区域中有多个总数(例如,一个计数和一个总和),则可以在对话框中选择要过滤哪一个。
- 如果您使用列标签来拆分总数,则值过滤器将仅适用于总计。
- 在列标签而不是行标签上应用值过滤器将根据底部的垂直总数执行过滤。
答案2
选择总计列,然后在“设置单元格格式”>“数字”对话框中选择“自定义”。在格式框中输入0;;
。
根据评论进行编辑:
假设您的源位于 Excel 2010 表中,从您的图片来看这可能是真的,这里有一个公式,您可以将其包含在源表的新列中:
=SUMPRODUCT(([Age]=[@Age])*([Date_Last_Pay]=[@[Date_Last_Pay]])*([Acc_No]=[@[Acc_No]])*[Last_Amount_Pay])>=0
此公式将计算具有相同日期、年龄和帐号的所有其他 Last_Amount_Pays 的总和。如果该金额等于或大于 0,则公式结果为 TRUE。
然后,您可以将该列用作数据透视表的页面过滤器,并将其过滤为 TRUE。
请告诉我这是否对您有用。如果不行,请告诉我 Excel 的哪个版本,以及哪些列包含此公式中列出的标题。