Excel:如何转置选择列并按重复值分组?(一维转二维表)

Ale*_*exM 1 excel transpose pivot-table excel-formula excel-2010

我正在处理交易的数据转储,该数据转储不是出于任何目的以非常友好的格式从特定系统导出的。

Excel 中的数据目前由大约 700,000 行组成,而一旦组织正确,应该只包含 70,000 行,其中一列的唯一值被转置到一些附加列中。

目前我正在使用下面这样的(简化的)示例;

Request_ID   Status       Field_Name       Value
01000        Rejected     Name             John Smith
01000        Rejected     Acc Number       123456
01000        Rejected     Date             1/12/2015
01000        Rejected     Enquiry Type     Type 1
01000        Rejected     Reason           Reason 1
01001        Completed    Name             Jane Jones
01001        Completed    Acc Number       123457
01001        Completed    Date             1/12/2015
01001        Completed    Enquiry Type     Type 2
01001        Completed    Reason           Reason 2
Run Code Online (Sandbox Code Playgroud)

前两列(Request_IDStatus)是简单的重复值,以满足与每个单独请求相关的众多数据行。

所述FIELD_NAME列是特定列重复为每个唯一的REQUEST_ID同一组上各行的值-和列列出与每个FIELD_NAME相应值。

它是第 3 列和第 4 列(Field_NameValue),我想将它们转置为行以产生如下所示的内容:

Request_ID  Status     Name          Acc Number    Date       Enquiry Type    Reason
01000       Rejected   John Smith    123456        1/12/2012  Type 1          Reason 1
01001       Completed  Jane Jones    123457        1/12/2012  Type 2          Reason 2
Run Code Online (Sandbox Code Playgroud)

如您所见,上面的第二个示例更具逻辑性,冗余数据更少 - 此外还允许进行简单的过滤和分析。

因此,我的第一个调用点是尝试通过将数据插入数据透视表来实现上述操作,但是我似乎无法弄清楚逻辑。或者,如果我能够将字段放入类似的列位置,那么这些值将简单地计算表主体中的计数,而不是值本身(数据透视表的性质也是如此)。

是否可以使用转置功能?(如果是这样,我很乐意调查自己)

是否有一些我没有考虑过的替代解决方案?

旁注- 我的数据转储中有其他列我没有包含在示例中,因为它们包含的值对于与单个 Request_ID 相关的每一行简单重复 - 所以我认为我可以对任何适用的解决方案使用相同的逻辑以上)

如果您能指出我正确的方向,或提供任何指导,我将不胜感激,因为我很难过。

Ron*_*eld 5

根据您的 Excel 版本,您可以使用Power Pivot(2010/2013) 或Get & Transform(2016) 适当地透视数据。您的数据(如果尚未在表中)将被转换为一个。

在此处输入图片说明

对于后者,选择From Table打开查询编辑器。选择字段名称和值列后,选择Transform?Pivot Column

在此处输入图片说明

这将打开一个 Pivot Column 对话框。您想确保选择如下。此外,您必须选择 advanced进入该do not aggregate选项。

在此处输入图片说明

选择确定,您将获得与您的问题相同的结果。当您保存查询时,它会将结果写入新的工作表。您需要正确格式化日期列。

在此处输入图片说明

我不确定这将如何处理 700,000 行。您可能需要 64 位 Excel。

但是,查看对其他回复的一些评论,此解决方案应该适用于不同数量的Field Name / Value对。