You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel基于指定列合并重复行,Power Query方法遇列值异常求助

Excel合并相同分组行并填充对应列值

原始数据

column1column2column3column4column5column6column7column8column9column10
Greater Country1DataColumnmassWeightColumnNameSameItemColumnxyzstate1
See DataDataColumnmassWeightColumnNameSameItemColumnxyzstate2
Greater Country1DataColumnmassWeightColumnNameSameItemColumnxyzstate3
See DataDataColumnmassWeightColumnNameSameItemColumnxyzstate4
Greater Country1DataColumnmassWeightColumnNameSameItemColumnType AB
See DataDataColumnmassWeightColumnNameSameItemColumnType AB
Greater Country1DataColumnmassWeightColumnNameSameItemColumnType AB
See DataDataColumnmassWeightColumnNameSameItemColumnType AB
AlphaDataColumnmassWeightDIFFERENT COLUMN ITEMItemColumnxyzstate11
AlphBetaaDataColumnmassWeightVERY DIFFERENT COLUMN ITEMItemColumnType ABAstate12

需求

按column1、column2、column3、column5、column9分组,合并每组内column6、column7、column8的非空值;前8行需合并为4行,第9、10行作为独立条目保留。

已尝试方法

  • 使用VLOOKUP、MERGE、CONCAT创建主键合并,未匹配到所有行
  • Power Query处理时,column10结果异常(值不正确)

期望结果

column1column2column3column4column5column6column7column8column9column10
Greater Country1DataColumnmassWeightColumnNameSameItemColumnxyzType ABstate1
See DataDataColumnmassWeightColumnNameSameItemColumnxyzType ABstate2
Greater Country1DataColumnmassWeightColumnNameSameItemColumnxyzType ABstate3
See DataDataColumnmassWeightColumnNameSameItemColumnxyzType AB4
AlphaDataColumnmassWeightDIFFERENT COLUMN ITEMItemColumnxyzstate11
AlphBetaaDataColumnmassWeightVERY DIFFERENT COLUMN ITEMItemColumnType ABAstate12

解决方法

方法一:Power Query 修正方案

  1. 导入数据到Power Query:选中数据区域 → 「数据」选项卡 → 「从表格/区域」(勾选「我的表格有标题」)
  2. 填充空值:
    • 选中column1、column2、column3、column5、column9列 → 「转换」选项卡 → 「填充」→ 「向下填充」
    • 这一步解决分组时空值无法匹配的问题,保证同组行的分组列值一致
  3. 分组聚合:
    • 点击「开始」选项卡 → 「分组依据」
    • 分组列选择column1、column2、column3、column5、column9
    • 添加以下聚合列:
      新列名操作列
      column4最大值column4
      column6最大值column6
      column7最大值column7
      column8最大值column8
      column10最大值column10
    • 点击「确定」
  4. 加载结果:点击「主页」选项卡 → 「关闭并上载」,将处理后的数据加载回Excel。

说明:之前column10异常是因为分组时误选了错误的聚合方式(如计数、求和),用「最大值」可自动保留同组内的非空有效数值。

方法二:公式+辅助列方案

如果不想使用Power Query,可通过辅助列+XLOOKUP实现:

  1. 添加分组键辅助列:
    在表格右侧插入新列GroupKey,输入公式:
    =CONCAT([@column1],[@column2],[@column3],[@column5],IF(ISBLANK([@column9]),"",[@column9]))
    
    该公式将分组列的值拼接成唯一键,处理column9的空值避免分组错误。
  2. 提取唯一分组键:
    复制GroupKey列到空白区域,选中复制的区域 → 「数据」选项卡 → 「删除重复值」,得到所有唯一分组。
  3. 提取各列值:
    对每个唯一分组键,用XLOOKUP提取对应列的非空值:
    • column1:=XLOOKUP($G2,Table1[GroupKey],Table1[column1])
    • column6:=XLOOKUP($G2,Table1[GroupKey],Table1[column6],"",0,1)(1表示查找第一个非空值)
    • column7:=XLOOKUP($G2,Table1[GroupKey],Table1[column7],"",0,-1)(-1表示查找最后一个非空值,确保取到Type AB)
    • column10:=XLOOKUP($G2,Table1[GroupKey],Table1[column10],"",0,1)

填充公式后即可得到符合要求的结果。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 16:37:05