根据 2011 年每个项目记录的工作时间,我的当前数据如下:
Proj. Hrs %
A 15.6%
C 7.3&
...
X 6.1%
D 5.3%
Q 1.8%
F 1.6%
H 0.7%
Total 100%
我想将一些较小的项目分组为一个条目,其中较小的项目是我所投入时间不到 2% 的项目。
Proj. Hrs %
A 15.6%
C 7.3&
...
X 6.1%
D 5.3%
Rest 4.1% <<< Group of all proj < 2% with total % for all combined
Total 100%
我该怎么做?我是否必须在创建数据透视表之前更改数据,还是可以使用已有的数据透视表来执行此操作?
答案1
1) 首先,您可以通过在项目行标签上创建一个组来手动完成此操作。只需选择 2% 以下的项目,然后右键单击“分组依据”。
2) 其次,如果您想要更动态的内容,一种方法是在数据透视表的 % 行标签上创建一个组字段。不幸的是,这要求 % 列来自您的源数据,因为数据透视表无法对其自己的汇总值进行分组。
因此,添加一个公式来计算源数据中的百分比将使此方法有效,如下所示。一个组将被称为 >2% 并保持展开,而 <2% 组将折叠。
如果计算源数据中的百分比太麻烦,另一种选择是在中间数据透视表上创建数据透视表,但这会带来一系列新的问题。
答案2
在进入数据透视表之前,您必须先进行求和组。
实现这个功能最简单的方法可能是使用 sumif 公式 - 如下所示:
=SUMIF(C5:C15,"<=0.02",C5:C15)
这将为您提供一个单元格,其中包含任何内容 = 至或小于 2%。使用 IF 函数在新列中过滤百分比。使用您的示例,如下所示:
=IF(C5>0.02,C5,0)
所以现在你的源范围看起来像:
项目小时数 % 小时数2% A 15.60% 15.6%(这些是 IF 语句。) 中 7.30% 7.3% 十 6.10% 6.1% 德 5.30% 5.3% 问 1.80% 0.0% 氟 1.60% 0.0% 氢 0.70% 0.0% 乙 24.20% 24.2% 男 15.00% 15.0% 杰 20.40% 20.4% 价格 2.00% 0.0% 剩余 6.1%(这是 sumif 语句)
设置数据透视表以包含源数据范围中的“其余”行,并且过滤器不在数据透视表中显示 0 值。
您可能需要进行一些调整 - 自然排序会将值所在的位置显示为“休息”。在上面的数据中,“休息”位于除项目 X 之外的所有内容之后,该项目的值也为 6.1%。您可以调整命名约定以解决这个问题。