Excel:如何将相同的行及其值提取到列中?

Excel:如何将相同的行及其值提取到列中?

我怎样才能从第一个表中提取第二个表?我需要提取那些恰好有三项费用的标题(在以下示例中:f1 和 f3)。我尝试使用数据透视表,但无法生成第二个表。任何建议都将不胜感激!

屏幕截图显示所需结果

更新:我很感谢 Mike Honey 提供的解决方案。但是,由于我对 Power Query 语言完全不熟悉,因此我正在寻找一种不使用插件的解决方案。

该问题与以下问题有某些相似之处:Excel 2007 将多行转置/合并为一行如何在 Excel 中将多行的值合并为一行?; 和excel-2010-将数据从多列行移动到单行。但是,这个问题的不同之处在于,要求不仅仅是转置和聚合数据,而且只对恰好具有三个成本的标题执行此操作。

答案1

我会使用 Power Query 插件来解决这个问题。需要几个步骤才能实现,还需要用 Power Query 语言 (M) 编写一些代码来生成获取“cost1/2/3”列标题所需的“运行计数”,还需要更多 M 代码来调用 Table.Pivot 函数(该函数未在 Power Query UI 中显示)。

我已经构建了一个原型,您可以查看或下载它 - 我的 One Drive 中的“Power Query 演示 - 使用 Running Count.xlsx 将行透视为列”:

https://onedrive.live.com/redir?resid=4FA287BBC10EC562%21398

基本上,我的技术是添加一个计算列来获取“成本标题”,例如 cost1/2/3。为了实现这一点,我需要编写一个“运行计数”函数,以返回针对每个组(标题)重置的索引。

我从这篇博文的“年初至今销售额”下获得了“运行计数”功能的概要:

http://cwebbbi.wordpress.com/2013/10/18/implementing-common-calculations-in-power-query/

然后我使用 Table.Pivot 函数为目标列中的每个唯一值生成一列。

Table.Pivot 的文档在这里:

http://office.microsoft.com/en-au/excel-help/table-pivot-HA104111995.aspx?CTT=5&origin=HA104122363

使用 Table.Pivot 的另一个示例如下:

http://cwebbbi.wordpress.com/2013/11/25/pivoting-data-in-power-query/

最后我过滤掉了没有 cost3 的行。

相关内容