You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何使用Excel Power Query按列值分组并整理数据格式?

数据行列整理方案

以下是针对需求的具体操作步骤,以Excel Power Query和Python Pandas两种常用工具为例:

方法一:Excel Power Query(可视化操作)

  • 导入源数据到Power Query:选中数据区域,点击「数据」选项卡 → 「从表格/区域」,确认数据包含表头。
  • 添加自定义列:点击「添加列」选项卡 → 「自定义列」,输入公式:Text.Combine({[类型], Text.From([数值])}, ": "),将指标类型和数值合并为带标识的文本。
  • 分组聚合:选中「项目」和「日期」列,点击「转换」选项卡 → 「分组依据」,分组列选择这两列,新列名设为「合并结果」,操作选「所有行」,再编辑公式为:Text.Combine([自定义列], "#(lf)"),用换行符把同一项目同一日期的预算、实际文本合并。
  • 透视日期列:选中「日期」列,点击「转换」选项卡 → 「透视列」,值列选择「合并结果」,高级选项选择「不要聚合」,完成后即可得到目标格式。
  • 加载回Excel:点击「关闭并上载」,将整理好的数据导入表格。

方法二:Python Pandas(代码实现)

如果习惯用代码处理,可参考以下脚本:

import pandas as pd

# 读取源数据(假设为csv格式,根据实际数据源调整)
df = pd.read_csv("你的数据源文件.csv")

# 合并类型与数值为带标识的文本
df["合并值"] = df["类型"] + ": " + df["数值"].astype(str)

# 按项目和日期分组,用换行符合并同一分组下的文本
grouped_df = df.groupby(["项目", "日期"])["合并值"].apply("\n".join).reset_index()

# 透视得到目标结构
result_df = grouped_df.pivot(index="项目", columns="日期", values="合并值")

# 清理列名并重置索引
result_df.columns.name = None
result_df = result_df.reset_index()

# 输出或保存结果
print(result_df)
result_df.to_excel("整理后数据.xlsx", index=False)

关键说明

你之前尝试分组和透视未得到理想结果,核心原因是没有先将「预算/实际」的标识与数值绑定后再聚合,直接透视会导致数值被默认聚合(如求和、平均值),而不是保留两类数值的区分展示。

内容的提问来源于stack exchange,提问作者Gloria Santin

火山引擎 最新活动