动态转置表中的两列

动态转置表中的两列

我有一个可以通过 URL 查询的 Web 数据源,但返回的数据在 Excel 中显示得不太好。它看起来像:

<?xml version="1.0" encoding="UTF-8"?> <Assets total="8" pageSize="2147483647" pageStart="0"> <Asset href="relativePath" id="89412"> <Attribute name="Name">Torqbar</Attribute> <Attribute name="Number">PSU-3323</Attribute> <Attribute name="CreateDate">2013-07-17T13:54:43.907</Attribute> <Attribute name="IsSold">true</Attribute> <Attribute name="DoneDate">2013-07-24T11:04:26.577</Attribute> </Asset> </Assets>

这很棒,因为我可以添加列,例如,如果我想返回上市日期我所要做的就是将其添加到查询中,然后我将返回一个属性上市日期作为名称,并将该节点的值作为列出的日期。

但是当 Excel 打开这些数据时,它不知道将属性节点视为列。所以我得到了这个:Excel 文件的屏幕截图,其中属性节点是行而不是所需的列

有没有办法轻松地转置这些数据?我知道我可以转换这些数据,但对于这项任务来说,这似乎很痛苦,我真的很想把这个电子表格交给新手计算机用户,向他们解释如何更改 URL,然后让电子表格

  1. 查找列name中的一组不同值name
  2. 将这些行中的数据转置到列中

所以它看起来像格式正确的表,其属性为列,而不是键/值对行

答案1

一旦某些列有重复值而其他列没有重复值,您就可以使用 VBA 代码来执行此操作,也可以使用数据透视表 + 公式来执行此操作。

我使用数据透视表 + 公式为您创建了一个示例这里

相关内容