数据透视表的报告过滤器使用“大于”

时间:2013-11-26 21:57:21

标签: excel pivot-table

我有一个数据透视表,其中包含一个报表过滤器中的字段(概率)。其值为步长5(0,5,10,15,...,100)的百分比。我想用它来过滤大于或等于某个值的概率,但过滤器只过滤精确的选择。

现在我使用允许多个值的解决方法,然后从我想要的阈值中选择所有值,一直到100  除了尴尬之外,这个解决方案没有显示我的选择,这是必要的,因为这个表被打印出来。过滤器的显示值是“(多个值)”,我想显示所有选定的值,或者甚至更好,像“> = 20%”。我真的不在乎它们是在现场本身还是在Pivot表之外的另一个单元中显示。

我的问题: 1)我可以使用过滤器过滤> =我的选择吗?如果不 2)我可以显示多个选项,例如“> = 20%”

7 个答案:

答案 0 :(得分:8)

我知道这有点晚了,但如果这有助于任何人,我认为您可以在数据中添加一列来计算概率是否为">='PivotSheet'$D$2"(参考pivot table表单上的单元格)。

然后,将该列添加到数据透视表中,并将新列用作true/false过滤器。

然后,您可以更改存储在引用单元格中的值以更新概率阈值。

如果我理解你的问题,这可能会得到你想要的。过滤器值将显示在带有枢轴的工作表上,并且可以更改以适应概率阈值的任何快速更改。 T / F滤波器可以标记为"高于/低于概率阈值"或类似的东西。

我用它来做类似的事情。在数据透视表工作表上使用单元格引用非常方便,因此我可以更新该值并刷新数据透视表以快速修改结果。我这样做的人无法决定应该达到什么样的门槛。

答案 1 :(得分:4)

在Excel数据透视表中,您认为过滤器仅允许显式选择的值是正确的。但是,如果过滤器字段位于数据透视表行或列上,则会获得更广泛的标签过滤条件,包括大于。如果你在你的情况下这样做,那么额外的好处是,与你的条件匹配的各种概率水平显示在表的正文中。

答案 2 :(得分:0)

经过一番研究后,我终于得到了一个VBA代码,用于显示另一个单元格中的过滤值:

Dim bRepresentAsRange As Boolean, bRangeBroken As Boolean
Dim sSelection As String
Dim tbl As Variant
bRepresentAsRange = False
bRangeBroker = False

With Worksheets("Forecast").PivotTables("ForecastbyDivision")
            ReDim tbl(.PageFields("Probability").PivotItems.Count)
            For Each fld In .PivotFields("Probability").PivotItems

                If fld.Visible Then
                    tbl(n) = fld.Name
                    sSelection = sSelection & fld.Name & ","
                    n = n + 1
                    bRepresentAsRange = True
                Else
                    If bRepresentAsRange Then
                        bRepresentAsRange = False
                        bRangeBroken = True
                    End If
                End If

            Next fld

            If Not bRangeBroken Then
                Worksheets("Forecast").Range("ProbSelection") = " >= " & tbl(0)
            Else
                Worksheets("Forecast").Range("ProbSelection") = Left(sSelection, Len(sSelection) - 1)
            End If

        End With

答案 3 :(得分:0)

也许在您的数据源中添加一列对所有行执行求和。 不确定你的数据是什么样的,但是类似=(sumif([列控制轴行头],[行当前行头值],概率列)> .2)。 当数据透视表显示> 20%时,这将给出一个True 然后在此列的数据透视表上添加一个过滤器,以获取TRUE值

答案 4 :(得分:0)

我不能说这对您有多大帮助,但只是找到了我遇到的类似问题的解决方案。 在枢轴中-

  1. 右键单击并选择数据透视表选项
  2. 选择显示选项
  3. 取消选中第一个“显示展开/折叠按钮”
  4. 检查“经典数据透视表布局(启用在网格中拖动字段)
  5. 单击确定。

这将优化数据。然后,我刚刚将这些数据复制并粘贴到一个新选项卡中,在该选项卡中,我已将过滤器应用于“总计”列,其值大于特定百分比。

这对我来说确实有效,希望对您有帮助。

答案 5 :(得分:0)

执行此操作的一种方法是将字段从“过滤器”部分拉入数据透视表的“行”部分。然后,使用菜单上的组选项将要保留的值分组。完成此操作后,将您的字段拖回到“过滤器”部分。分组将保留,您可以选中或取消选中一个框以删除很多值。

答案 6 :(得分:-1)

使用值过滤器。单击行标签旁边的下拉箭头,您将看到排序A到Z,标签过滤器和值过滤器之间的选择。选择大于值的过滤器将允许您选择用于过滤行的列,即使该列本身没有下拉箭头。