Excel:旋转/转换每月费用数据

问题描述 投票:0回答:1

我有一本 Excel 工作簿,其中包含一年中每个月的工作表。 每张表用于捕获该月的一些基本总账信息。 我已经成功创建了一个强大的查询来提取每张表的所有数据并组合它们,使它们看起来像这样:

我现在想在新选项卡中使用此查询,但列是月份,行是除“名称”之外的列,并且相应地对销售值进行求和,因此最终应该是这样的:

我尝试使用数据透视表/报告来做到这一点,但没有成功。它不是将选定的列列为单独的行,而是对它们进行求和..这样我最终得到1行..但是'jan'和feb'的多个列分组。与此类似:

有人知道这是否可以通过枢轴来完成吗?或者我是否需要像在 SQL 中那样使用 powerquery 进行旋转、分组和聚合?如果是的话,是否有使用电源查询执行此操作的示例?

非常感谢

excel vba powerquery
1个回答
0
投票

这也可以使用

Power Query
来完成,可在
Windows Excel 2010+
Excel 365 (Windows or Mac)

中使用


要使用 Power Query,请按照以下步骤操作:

  • 首先将源范围转换为表格并相应命名,在本例中我将其命名为
    Table1

  • 接下来,从 Data 选项卡 --> 获取和转换数据 --> 获取数据 --> 来自其他来源 --> 空白查询
  • 打开一个空白查询

  • 上面的内容让 Power Query 窗口打开,现在从 Home 选项卡 --> 高级编辑器 --> 通过删除您看到的任何内容来粘贴以下 M-Code,然后按 Done

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"NAME", "MONTH"}, "Attribute", "Value"),
    #"Removed Columns" = Table.RemoveColumns(#"Unpivoted Other Columns",{"NAME"}),
    #"Pivoted Column" = Table.Pivot(#"Removed Columns", List.Distinct(#"Removed Columns"[MONTH]), "MONTH", "Value", List.Sum),
    #"Renamed Columns" = Table.RenameColumns(#"Pivoted Column",{{"Attribute", "Categories"}})
in
    #"Renamed Columns"


  • 最后,将其导入回 Excel --> 单击 Close & LoadClose & Load To --> 单击的第一个应创建一个具有所需输出的 New Sheet,而后者将提示一个窗口,询问您将结果放在哪里。

© www.soinside.com 2019 - 2024. All rights reserved.