【问题标题】:Creating a slicer for pivot table to select multiple values为数据透视表创建切片器以选择多个值
【发布时间】:2021-02-26 16:36:53
【问题描述】:

我有一个来自 excel 的数据集,我为它创建了一个如下所示的数据透视表:

因此,我根据数据创建了一个数据透视表,以从原始数据中汇总每个名称的检查。我想在这里使用时间作为切片器 - 但如您所见,如果我想选择过去 12 周的数据,我需要过滤到过去 4 周和 5-12 周。如果我想选择所有时间范围,我需要检查切片器中的所有项目。

只是想知道我是否可以通过选项创建切片器:

  1. 过去 4 周(如果我单击此按钮,我将使用 Time = Last 4 Weeks 过滤我的数据

  2. 过去 12 周(如果单击此按钮,我将使用时间 = 过去 4 周时间 = 5-12 周过滤我的数据)

  3. 全部(如果我点击它,我将选择每个时间值 - 基本上是全选。)

任何帮助将不胜感激。非常感谢!!

【问题讨论】:

    标签: excel pivot-table


    【解决方案1】:

    另一种方法是创建自己的形状“切片器”并为每个形状分配宏(以智能表为例):

    宏必须放在工作表模块中。

    Sub w4()
        ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=2, Criteria1:= _
            "=Last 4 Weeks"
    End Sub
    
    Sub w5()
        ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=2, Criteria1:= _
            "=5-12 Weeks"
    End Sub
    
    Sub w12()
        ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=2, Criteria1:= _
            "=5-12 Weeks", Operator:=xlOr, Criteria2:="=Last 4 Weeks"
    End Sub
    
    Sub w13()
        ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=2, Criteria1:= _
            "=13-20 Weeks"
    End Sub
    
    Sub FReset()
        ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=2
    End Sub
    

    【讨论】:

      【解决方案2】:

      如果我正确理解了任务,那么普通切片会实现此功能。选择多个过滤器值:Ctrl + 鼠标左键(或切片标题中带有复选标记的开关)。显示所有记录意味着删除过滤器 - 切片标题中带有红十字的漏斗图标。屏幕截图显示了一个基于智能表的示例:

      【讨论】:

      • 感谢您的回答!是的,默认切片器已经可以完成这项工作。但是,此报告的一些潜在用户可能不理解这一点......而不是同时选择过去 4 周和 5-12 周来选择“过去 12 周”数据,他们想要一个“过去 12 周”选项切片器让他们一键点击。
      • 一种解决方案是在构建数据透视表的范围内创建一个辅助 Time2 字段,其公式如下 [= IF (OR (B2 = "Last 4 Weeks", B2 = " 5-12 周")、"过去 12 周"、"13-20 周")],它为时间字段中的值返回“过去 4 周”和“5-12 周”,结果为“过去 12 周” ",并在 Time2 字段上创建第二个切片。在这种情况下,辅助字段可能不会显示在数据透视表中。
      猜你喜欢
      • 1970-01-01
      • 2014-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多