代码之家  ›  专栏  ›  技术社区  ›  mike01010

Excel:每月支出数据的透视/转换

  •  0
  • mike01010  · 技术社区  · 11 月前

    我有一个excel工作簿,里面有一张一年中每个月的表格。 每张表都用于获取当月的一些基本总账信息。

    我已经设法创建了一个功率查询,以提取每张图纸的所有数据,并进行组合,使它们看起来像这样:

    enter image description here


    名称 供应 公用事业 保险 广告 工资单
    实体1 100 100 100 100
    实体2 200 200 200
    实体3 50 400
    实体1 100 100 100 100 功能电子块
    实体2 200 200 200 功能电子块
    实体3 50 400 功能电子块

    我现在想在一个新的选项卡中使用这个查询,但这些列是月份,行是除“Name”之外的列,并且sell的值会相应地相加,所以最终应该是这样的:

    enter image description here

    我曾试图通过使用透视表/报表来实现这一点,但没有成功。它不是将所选列列列为单独的行,而是将它们求和。。所以我最后得到了一排。。而是多列分组的“jan”和“feb”。类似于此:

    enter image description here

    有人知道这是否可以通过枢轴完成吗?还是我需要像在SQL中那样使用powerquery进行数据透视、分组和聚合?如果是这样的话,有没有进行w/power查询的例子?

    非常感谢

    1 回复  |  直到 11 月前
        1
  •  2
  •   Mayukh Bhattacharya    11 月前

    这也可以使用 Power Query ,在中提供 Windows Excel 2010+ Excel 365 (Windows or Mac)

    enter image description here


    要使用Power Query,请执行以下步骤:

    • 首先将源范围转换为一个表并相应地命名,对于本例,我将其命名为 Table1

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

    • 上面让 电源查询 窗口打开,现在从 选项卡--> 高级编辑器 -->并粘贴以下内容 M-代码 删除您看到的内容,然后按 多恩

    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"
    

    enter image description here


    • 最后,将其导入回 擅长 -->点击 关闭&负载 关闭&加载到 -->点击的第一个应创建 新建工作表 具有所需的输出,而后者将提示一个窗口,询问将结果放置在何处。