使用Excel Power Query合并相邻行
Excel Power Query合并相邻行
当然可以实现这个需求!我来给你一步步拆解用Power Query合并相邻行的操作:
- 首先把你的原始数据导入Power Query(如果还没导入的话,点击数据选项卡→从表格/区域)。
- 添加索引列:在“添加列”选项卡,点击“索引列”→“从0开始”。这样每一行会有一个从0开始的编号,方便我们给相邻行分组。
- 计算分组标识:添加一个自定义列,输入公式
Number.IntegerDivide([索引], 2)。这个公式会把索引0和1归为组0,索引2和3归为组1,以此类推,刚好实现两两一组的效果。 - 按分组标识分组:转到“转换”选项卡,点击“分组依据”,按以下设置配置:
- 分组依据:选择我们刚创建的自定义列(可以给它改个直观的名字,比如“组ID”)
- 新列名:输入“行数据”
- 操作:选择“所有行”
确定后,每个组里就会包含对应的两行原始数据。
- 重组列结构:添加一个自定义列,用下面的代码把每组里的两行拆成带A、B后缀的列并合并:
这段代码会把组内第一行的列名加上A后缀,第二行的列名加上B后缀,再把两个记录合并成一个。let 第一行 = [行数据]{0}, 第二行 = [行数据]{1}, 合并记录 = Record.Combine({ Record.RenameFields(第一行, {{"Col1","Col1A"}, {"Col2","Col2A"}, {"Col3","Col3A"}}), Record.RenameFields(第二行, {{"Col1","Col1B"}, {"Col2","Col2B"}, {"Col3","Col3B"}}) }) in 合并记录 - 展开自定义列:点击自定义列右侧的展开按钮,选择所有列,确认后就能看到你想要的两两合并的格式了。
- 最后清理掉不需要的辅助列(比如索引、组ID、行数据这些),然后点击“关闭并上载”,结果就会同步到Excel表格里啦!
小提示:如果你的原始数据行数是奇数,最后一行会没有配对的行,你可以根据需求选择过滤掉这一行,或者单独保留它。
备注:内容来源于stack exchange,提问作者Green Grasso Holm




