在 Excel/Power Query 中转换不美观的调查数据

在 Excel/Power Query 中转换不美观的调查数据

我从一些调查中输入了需要进行一些转换的数据。我一直在使用 Power Query Transpose 函数,但显然我缺少一些进行所需转换的重要知识。输入数据如下图所示,可能subIDs无穷无尽。

所需的结果应如下图所示,可能会省略空答案,但这应该是这里的简单部分。

任何帮助都将不胜感激。抱歉我不会说 Excel,因为我不了解所需操作的术语。

答案1

首先,由于过去 15 多年来一直从事调查数据工作,我谨对此表示同情。

首先,将数据减少为仅包含一行列标题。

在此处输入图片描述

在我的示例中,我在单元格 C9 中使用了此公式并将其复制到右侧:

="subID"&C1&"_"&C2

接下来,将光标放在新表中的一个单元格中,然后使用数据>获取和转换数据>从表/范围:

在此处输入图片描述

数据将显示在 Power Query 编辑器中。

接下来,选择最左边的两列,或者更一般地,选择您想要在每一行中重复的人口统计/筛选数据。

选择这些列后,使用“变换”>“取消透视列”>“取消透视其他列”:

在此处输入图片描述

这将产生以下结果:

在此处输入图片描述

如果您担心 subID1 没有出现而您需要它,即使它是空白的,也可以在原始数据的那些列中放置一个默认值(可能是 -1 表示“无答案”或某些表示“不适用”的默认值)

这种格式可能很有用,但由于您希望将答案标题作为四个单独的列,因此还需要几个步骤。

右键单击“属性”列并选择拆分列>按分隔符:

在此处输入图片描述

配置使分隔符为下划线:

在此处输入图片描述

此时,您应该具有如下所示的 Attribute.1 和 Attribute.2:

在此处输入图片描述

选择Attribute.2列并使用Transform>Pivot Column,并按如下方式配置:

在此处输入图片描述

希望最终结果正是您所需要的。您可以右键单击并根据需要重命名列,然后使用主页>关闭并加载将数据放回工作簿。

在此处输入图片描述

相关内容