在Excel Pivot中应用多个值过滤器

时间:2017-02-03 22:25:01

标签: excel filtering pivot-table powerpivot

使用Excel 2013,我想将十大过滤器应用于数据透视表,并将过滤器应用于其他值字段。这可能吗? 我想从个人索赔列的总和中筛选掉所有1,但仍然有平均前10的索赔(减去索赔量只有1)。

表1中个人索赔额总和为1的

enter image description here

结果表应如下所示。

enter image description here

3 个答案:

答案 0 :(得分:0)

将个人声明添加到“数据透视表字段”区域中的“过滤器”窗格。

enter image description here

过滤器将显示在您的数据透视表上方。添加取消选择值1

enter image description here

现在转到Row Labels下拉按钮并选择值过滤器,然后选择Top N...

enter image description here

在红色突出显示的选项中,选择Average of % of Claims小节。

如果有帮助,请告诉我。

答案 1 :(得分:0)

我找到了一种解决方法,即通过使用源数据中的帮助程序列在数据透视表中使用多个过滤器。这是一种逐步的方法,您可以根据需要进行调整。

第1步::将Helper Columns添加到数据源中,并带有新的标题以及每行中的任何常量值。 (每个额外的过滤器需要一个助手列。如果要使用2个过滤器,则需要一个助手列) enter image description here

步骤2:将Helpercolumn属性添加到数据透视表的行字段中。 enter image description here

步骤3:选择所有行属性都在一行中的表格布局。 enter image description here

步骤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年前提出的。

答案 2 :(得分:0)

如果您需要对数据透视表中的同一字段应用多个值过滤器,最简单的方法如下:

  1. 将具有相同值的列添加到源数据并为其名称添加索引。例如。我有 Hospital 列并创建了名为 Hospital 2
  2. 的克隆
  3. 更改源数据以确保包含新列。
  4. 刷新您的数据透视表。
  5. 将新的列克隆(即在我们的示例中为 Hospital 2)放入数据透视表字段 选项卡的 ROWS 窗口中。
  6. 确保数据透视表字段标签中窗口中的所有字段都具有以下设置:enter image description here
  7. 现在您可以对旧的和新的相同列应用 2 个不同的值过滤器!!!
  8. 如果您不需要看到新添加的克隆列,只需将其隐藏即可。

就是这样!!!