Excel 为透视表创建切片器以选择多个值

Excel 为透视表创建切片器以选择多个值,excel,pivot-table,Excel,Pivot Table,我有一个来自excel的数据集,我为它创建了一个透视表,如下所示: 因此,我基于数据创建了一个透视表,以根据原始数据对每个名称的检查进行求和。我想在这里使用时间作为切片器-但正如您所看到的,如果我想选择最后12周的数据,我需要过滤到最后4周和5-12周。如果我想选择所有的时间范围,我需要检查切片器中的所有项目 只是想知道是否有一种方法可以让我创建一个切片器,并提供以下选项: 最后4周(如果我单击此按钮,我将使用时间=最后4周筛选我的数据 最后12周(如果单击此按钮,我将使用时间=最后4周和时

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

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

只是想知道是否有一种方法可以让我创建一个切片器,并提供以下选项:

  • 最后4周(如果我单击此按钮,我将使用时间=最后4周筛选我的数据

  • 最后12周(如果单击此按钮,我将使用时间=最后4周和时间=5-12周来筛选数据)

  • 全部(如果单击此按钮,我将选择每个时间值-基本上是全选。)


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

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

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

    宏必须放置在图纸模块中

    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
    

    感谢您的回答!是的,默认切片器已经可以完成这项工作。但是,此报告的一些潜在用户可能不理解这一点……他们不想同时选择最后4周和5-12周来选择“最后12周”数据,而是希望选择“最后12周”切片器中的选项供他们单击。一种解决方案是在构建透视表的范围内创建一个辅助Time2字段,使用类似[=IF(或(B2=“Last 4 Weeks”,B2=“5-12 Weeks”),“Last 12 Weeks”,“13-20 Weeks”)]的公式,返回“Last 4 Weeks”和“5-12 Weeks”对于时间字段中的值,结果为“过去12周”,并在时间2字段上创建第二个切片。在这种情况下,辅助字段可能不会显示在透视表中。