Excel月度费用数据透视转换:Power Query与透视表实现疑问
实现费用按月份列、费用类型行的汇总表
方法一:数据透视表实现
你之前用透视表失败,大概率是没先把宽表转成适合透视的长表结构,步骤如下:
- 将宽表转长表(逆透视)
- 选中合并后的数据集,点击「数据」选项卡 → 「从表格/区域」(若数据不是表格,先转成表格),进入Power Query编辑器
- 选中
NAME和MONTH列,右键选择「逆透视其他列」,此时会生成属性(存储SUPPLIES等费用类型)和值(存储对应金额)两列,关闭并上载到Excel
- 插入数据透视表
- 选中转换后的长表,点击「插入」选项卡 → 「数据透视表」,选择放置位置
- 在数据透视表字段列表中:
- 把
属性拖到行区域 - 把
MONTH拖到列区域 - 把
值拖到值区域,默认就是求和,若不是可右键值字段 → 「值字段设置」改为「求和」
- 把
- 不需要
NAME的话,直接隐藏该字段即可
方法二:Power Query实现(类SQL透视+分组聚合)
如果更习惯用Power Query完成全流程,步骤如下:
- 打开合并后数据集的Power Query编辑器(通过「数据」→「查询和连接」找到对应查询双击打开)
- 逆透视费用列
- 选中
NAME和MONTH列,右键选择「逆透视其他列」,得到属性(费用类型)和值(金额)列
- 选中
- 分组求和
- 点击「转换」→「分组依据」,选择「高级」模式:
- 添加分组列:第一组列名填
费用类型,字段选属性;第二组列名填月份,字段选MONTH - 添加聚合列:列名填
总金额,操作选「求和」,字段选值 - 点击确定,得到按费用类型+月份分组的求和结果
- 添加分组列:第一组列名填
- 点击「转换」→「分组依据」,选择「高级」模式:
- 透视月份列
- 选中
月份列,点击「转换」→「透视列」:- 值列选择
总金额,高级选项勾选「不要聚合」(已完成分组求和,无需二次聚合) - 点击确定,即可得到月份为列、费用类型为行的汇总表
- 值列选择
- 选中
- 点击「关闭并上载」,将结果导入Excel
内容的提问来源于stack exchange,提问作者mike01010
相关产品推荐
相关产品推荐

