在 Excel Pivot 中应用多个值筛选器
Posted
技术标签:
【中文标题】在 Excel Pivot 中应用多个值筛选器【英文标题】:Applying Multiple Value Filters in Excel Pivot 【发布时间】:2017-06-21 09:34:20 【问题描述】:使用 Excel 2013,我想将前 10 名过滤器应用于数据透视,并将过滤器应用于附加值字段。这可能吗? 我想从个人索赔总和列中过滤掉所有 1,但仍然有前 10 位的平均索赔百分比(减去只有 1 的索赔数量)。
表 1 中的个人索赔总和列中为 1
生成的表格应如下所示。
【问题讨论】:
很有可能,您为什么不直接过滤等于 1 的个体总和,然后在行标签字段上应用前 N 个过滤器?。 具体怎么做? 【参考方案1】:如果您需要对数据透视表中的同一字段应用多个值过滤器,最简单的方法如下:
-
将具有相同值的列添加到源数据并为其名称添加索引。例如。我有 Hospital 列并创建了名为 Hospital 2 的克隆
更改源数据以确保包含新列。
刷新您的枢轴。
将新列克隆(在我们的例子中为 Hospital 2)放入 PivotTable Fields 选项卡的 ROWS 窗口。
确保数据透视表字段选项卡中列窗口中的所有字段都具有以下设置:enter image description here
现在您可以对新旧相同的列应用 2 个不同的值过滤器!!!
如果您不需要看到新添加的克隆列,只需将其隐藏即可。
就是这样!!!
【讨论】:
请更改图片描述。【参考方案2】:我找到了一种解决方法,即在数据透视表中使用多个过滤器,方法是在源数据中使用辅助列。这是一个循序渐进的方法,您可以根据自己的需要进行调整。
第 1 步: 将 Helper Columns 添加到数据源,并在每行中使用新标题和任何常量值。 (每个额外的过滤器需要一个辅助列。如果要使用 2 个过滤器,则需要一个辅助列)
第 2 步:将 Helpercolumn 属性添加到数据透视表的行字段中。
第 3 步:选择所有行属性都在一行中的表格布局。
第 4 步:现在您可以应用不同的过滤器,一个用于行字段中的每个属性的过滤器。在您的情况下:“标题 1”的前 10 个过滤器和“帮助 1”的不相等过滤器。这将产生与为“标题 1”使用多个过滤器相同的结果。
第 5 步:如果您现在将此应用到 VBA,代码可能如下所示:
Dim pvt As PivotTable
Set pvt = ActiveSheet.PivotTables("PivotTable1")
ActiveSheet.PivotTables("PivotTable1").AllowMultipleFilters = True
With pvt.PivotFields("Heading 1")
.ClearAllFilters
.PivotFilters. _
Add2 Type:=xlTopCount, DataField:=ActiveSheet.PivotTables("PivotTable1"). _
PivotFields("Average of Heading 2"), Value1:=10
End With
With pvt.PivotFields("Help 1")
.ClearAllFilters
.PivotFilters.Add2 _
Type:=xlValueDoesNotEqual, DataField:=ActiveSheet.PivotTables("PivotTable1" _
).PivotFields("Sum of Heading 3"), Value1:=1
End With
我希望这对某人有用,即使这个问题是 1.5 年前提出的。
【讨论】:
【参考方案3】:将个人声明添加到数据透视字段区域的过滤器窗格中。
一个过滤器将出现在您的数据透视表上方。添加取消选择值1
。
现在转到Row Labels
下拉按钮并选择值过滤器,然后选择Top N...
:
在以红色突出显示的选项中,选择您的 Average of % of Claims
度量值。
如果这有帮助,请告诉我。
【讨论】:
谢谢。此过滤器会过滤个人索赔的总和,还是仅过滤个人索赔为 1 的每一行? @Crow,它会过滤单个索赔的总和,但会过滤数据透视表中的每一行,而不是基础数据中的每一行。 亚历杭德罗,我试过了,它似乎在过滤个人索赔,而不是个人索赔的总和。当我将单个声明从值移动到过滤器时,它不再对我需要过滤的单个声明求和。 @Crow,不要将其从 Values 中移出,只需将其再次从字段列表中取出并放到过滤器中即可。 我也试过了。无论哪种方式,它都不会过滤个人索赔的总和。以上是关于在 Excel Pivot 中应用多个值筛选器的主要内容,如果未能解决你的问题,请参考以下文章