更改 Excel 数据透视表中的行字段

更改 Excel 数据透视表中的行字段

我想更改数据透视表中使用的行字段,我想知道切片机是否可以做到这一点。

带上

带下部

通常我会创建两个数据透视表和两个单独的图表,但在我的实际数据集中,我有超过 2 个重要参数但请注意,它们都依赖于相同的值参数,即值,所以如果我有一些可以改变行的切片器就好了。

这些是我在截图中使用的简单虚构值。

Lower,Upper,Value
a,A,1
b,B,2
c,C,3
h,H,2
a,B,234
c,H,34
c,D,69

如果我的问题重复或者缺少一些信息,请见谅。

答案1

如果您一次只想使用一个行字段,则可以使用 PowerQuery 堆叠变量。

将光标放在数据中并使用数据>获取和转换数据>从表/范围。

在此处输入图片描述

这将创建一个表并打开 PowerQuery 编辑器:

在此处输入图片描述

按住 Ctrl 并单击标题以选择 Lower 和 Upper 列,然后使用 Transform>Unpivot Columns。您应该看到以下内容:

在此处输入图片描述

右键单击列标题并选择“重命名”,将列重命名为对您有意义的名称。您还可以拖动列以重新定位它们。我已重命名它们并重新排序如下:

在此处输入图片描述

现在使用“主页”>“关闭并加载”将数据放回工作簿。

您可以从该数据集创建一个数据透视表,将 VariableMember 放在行上,将 Value 放在值中,并在 Variable 上创建一个切片器:

在此处输入图片描述

编辑1:

这是另一种不使用 VBA、DAX 或 PowerQuery 的方法,但确实要求您在选择要作为行标题的列后刷新数据透视表。

在此处输入图片描述

我已将单元格 G2 重命名为 selected_column。此操作通过选择一个单元格,然后在名称框中输入名称来完成,如所述这里。这不是绝对必要的,但我发现它使阅读引用此列的公式变得更容易。

我使用 Ctrl+T 将数据范围转换为表格,并使用以下公式添加了一个名为“数据透视行标题”的列:

=IFS(selected_column="Lower",[@Lower],selected_column="Upper",[@Upper],TRUE,"")

这只是说“如果单元格 G2 中的值为 Lower,则在此列中显示 Lower 列中的值。如果单元格 G2 中的值为 Upper,则在此列中显示 Upper 列中的值。否则,在此列中不显示任何内容。”

如果您有更多列可供选择,则可以根据需要多次扩展 IFS 公式。

在单元格 G2 中,我通过使用数据>数据验证添加了数据验证,并像这样配置对话框:

在此处输入图片描述

因此,单元格 G2 中的下拉列表显示了表格中前两列的列标题,即值 Lower 和 Upper。

当我从 G2 中的下拉菜单中选择一个值时,表中 C 列中的值会更新。

然后我需要刷新数据透视表来查看更改。

在此处输入图片描述

相关内容