【问题标题】:PivotTable - Filter Row数据透视表 - 筛选行
【发布时间】:2013-10-02 21:43:46
【问题描述】:

我正在为我拥有的数据创建一个数据透视表。数据如下所示:

ID政策_七月政策_六月政策_五月政策_四月标签 13 高 中 高 高 高 好 2 低 低 低 低 低 好 3 低 低 低 低 低 好 4 高 中 高 高 高 好 5 高 低 高 高 高 好 6 低 低 低 低 低 坏 7 高 中 高 高 高 差 8 高 低 高 高 高 坏

我将 7 月的结果与其他月份进行比较。有没有办法可以为行添加过滤器以使我能够将“Policy_June”更改为“Policy_March”?基本上,我可以过滤数据透视表中的行,而不是过滤列吗?如果是这样,你能指导我怎么做吗?

同样,我正在寻找的是在数据透视表上方有一个过滤器按钮,可以让我将“Policy_June”更改为“Policy_April”。

其次,有没有办法可以将“总计”作为一列(就像我在数据透视表的底部一样)?我正在尝试对“高”的“坏”和“好”的值求和,并在黄色列中显示结果。

如果您需要任何其他说明,请告诉我。

【问题讨论】:

    标签: excel pivot-table excel-2013 vba


    【解决方案1】:

    你可以通过给它一个类似于这样的布局来规范化你的数据:

    ID   PolicyMonth  Status  Label
    13   July         High    Good
    13   June         Med     Good
    13   May          High    Good
    ...
    

    并创建一个 Pivot,其 ID 为垂直方向(行标签),状态为水平方向(列标签)。然后,您可以过滤单个(或多个)值的行和列标签。

    不确定您希望如何处理交叉点数据(状态、标签),因为默认情况下您只能求和/计数/平均/最小值/最大值...这可能需要将低/中/高转换为数字 (0,1,2) 和行总数的平均值。

    编辑

    关于你的 cmets,我知道你想分析一个 Delta ...

    • A..G 列包含原始数据

    • 列 H..L 包含根据公式的数字表示

      H5:=IF(B5="High",2,IF(B5="Med",1,0))

    • 单元格 C1 和 C2 包含要比较的月份名称...它们与 H4..L4 中的标题相同;随心所欲地更改...使用值列表和单元格下拉列表进行数据验证是可以考虑的

    • M 列 - 大招 - 使用 INDEX 和 MATCH 函数计算,即

      M4:=INDEX(H5:L5,1,MATCH($C$1,$H$4:$L$4,0))-INDEX(H5:L5,1,MATCH($C$2,$H$4:$L$4,0))

    • 使用 Diff 作为 Row Label 和 count(ID) 作为数据创建数据透视表,显示保持平坦 (0) 的那些,向上或向下跳跃 1 或 2 级...这当然可以过滤以抑制或突出保持相同的那些。

    • 可以使用嵌套的 IF 将 Diff 中的结果进一步处理为 DiffText,并显示在数据透视行而不是 Diff 中

    • 截图中:3个ID保持不变,3个ID提升1级,2个ID提升2级

    • 如果您将 ID 添加到行标签中,数据透视表可以深入到 ID 级别以显示谁是好人/坏人

    希望这比我的第一次尝试更接近。

    在新标签页中打开图片以获得更大的尺寸

    【讨论】:

    • 迈克感谢您的回复。因为,我试图比较 7 月到 6 月的政策,我认为你的方法行不通。所以基本上,我希望将 7 月的值视为 Column,将 June 的值视为 Row 标签。
    • 你想在任意两个月的交叉点显示什么?
    • 在十字路口,我想显示有多少人保持相同的政策。因此,例如:假设 7 月份有 25 人,他们的政策分布如下所示:# of High = 15 # of Low = 10。现在回到 6 月,这 25 人有不同的政策。 # of High = 20 # of Low = 5。所以在互动环节,我想展示那些政策没有改变的人。例如:14 人。其余人的政策要么从高到低,要么从低到高。希望这是有道理的。感谢您的帮助。
    • 而您原始帖子中的 ID 代表个人...意味着 6 月的第 13 个人是 MED 并在 7 月更改为 HIGH ...?
    • 谢谢迈克。我正在寻找的结果是不同的。因此,请参考您的屏幕截图并参考单元格 A..F。如果您在行标签下放置“七月”,在列标签下放置“六月”,并在值下计算 ID。这就是我现在所拥有的。很简单吧?但我想做的是为该列标签设置一个过滤器,因此我可以选择三月、四月或任何其他月份来比较上下移动的数字。如果您需要更多信息,请告诉我。由于我没有声誉,我无法粘贴我拥有的内容的屏幕截图。
    猜你喜欢
    • 2019-02-02
    • 2016-01-07
    • 2012-05-14
    • 1970-01-01
    • 2021-11-30
    • 2012-02-20
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    相关资源
    最近更新 更多