【问题标题】:Filter By Last 14 Days Pivot Table Excel 2010按过去 14 天数据透视表 Excel 2010 过滤
【发布时间】:2014-03-12 03:02:17
【问题描述】:

我在包含日期列的工作表上有一个表格。我在新工作表上创建了一个数据透视表/图表。我希望能够过滤过去 14 天(始终相对于当前日期)显示的图表中的数据。

我和这个用户有同样的问题:filtering an Excel pivot table to show the last 24 hours data

除了我无法在源数据中添加列并且我需要在 14 天内而不是 24 小时内添加它。必须有内置的方法来做到这一点,或者我可以在 VBA 中做到这一点吗?

谢谢

【问题讨论】:

    标签: excel pivot-table


    【解决方案1】:

    当然,您可以按日期过滤,但如果没有 VBA,我认为它必须是手动的。这是一个将其设置为过去 14 天(包括今天)的 VBA 例程:

    Sub FilterPivotByDate()
    Dim pvt As Excel.PivotTable
    Dim DaysToShow As Long
    Dim DateString As String
    
    Set pvt = ActiveSheet.PivotTables(1)
    DaysToShow = 114
    DateString = Format(Date - (DaysToShow - 1), "m/d/yyyy")
    With pvt.PivotFields("date")
        .ClearAllFilters
        .PivotFilters.Add Type:=xlAfterOrEqualTo, Value1:=DateString
    End With
    End Sub
    

    【讨论】:

    • 谢谢 - 这正是我所需要的
    • 不客气。感谢您有机会编写有趣的代码。
    • 我不确定你是否能帮我解决这个问题,但后来它突然出现了。为了使用您的解决方案,我需要将日期添加为轴(类别) - 如果它是报告过滤器,是否有办法做同样的事情?问题是它按月划分我的结果
    • 报告过滤器是您的首选,还是因为它可以解决您的月份分组问题而想要这样做?要在报告过滤器中执行此操作,我认为唯一的方法是遍历每个项目并设置其 Visible 属性。我现在没有更多时间,但稍后会回来查看。
    • 我不需要以过去 14 天以外的任何方式过滤日期,尽管我的设计发生了变化 - 所以日期并不总是需要与当前日期相关。我添加了 2 个日历控件来获取日期之间的那些。所以我需要引用我的 Date 字段的 Axis(Category) 来过滤日期,但不要让它应用它的默认过滤功能,它会按月拆分我的值。
    猜你喜欢
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 2012-06-19
    • 2010-11-28
    相关资源
    最近更新 更多