Power Query中如何将相同值的单元格合并为新行?
Power Query 合并相同值单元格为新行的正确方法
你之前使用Table.Pivot是错误的,这个函数的作用是将行转换为列,和你“合并相同值单元格为新行”的需求不匹配。正确的做法是使用Table.Group函数来实现分组合并。
操作步骤
- 打开Power Query编辑器,选中需要分组的列(比如你的
Date列) - 点击「开始」选项卡 → 「分组依据」
- 在弹出的对话框中设置:
- 分组依据:选择你要合并相同值的列(如
Date) - 新列名:自定义名称(如
合并后的值) - 操作:选择「合并」,操作值选
Value列,按需设置分隔符(逗号、分号等)
- 分组依据:选择你要合并相同值的列(如
- 点击确定即可得到合并后的结果
M代码示例
如果需要手动编写代码,假设你的数据源步骤名为#"之前的步骤",可以用以下两种方式:
方式1:直接合并文本类型值
#"分组合并" = Table.Group(#"之前的步骤", {"Date"}, {{"合并后的值", each Text.Combine([Value], ", "), type text}})
方式2:处理数值类型值(先转文本再合并)
如果Value列是数值类型,需要先转换为文本再合并:
#"值转文本" = Table.TransformColumns(#"之前的步骤", {{"Value", Text.From, type text}}), #"分组合并" = Table.Group(#"值转文本", {"Date"}, {{"合并后的值", each Text.Combine([Value], "; "), type text}})
错误原因说明
你之前的Table.Pivot代码是将不同的Date值转换为列,并对Value列求和,这是行转列的操作,完全不符合“合并相同值为新行”的需求,所以会得到错误结果。
内容的提问来源于stack exchange,提问作者bjr
相关产品推荐
相关产品推荐

