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

Excel实现同ID多行数据合并为单行多列双分组输出方法

Excel一对多行结构转单行多列重构可行方案

纯公式实现(适合Excel 365/2021及以上版本,数据量10万行以内)

不需要手动给每个ID划分窗口写固定引用,用动态数组函数可以直接实现:

  • 提取唯一ID列表:找空白列作为新表的ID列,在起始单元格输入=UNIQUE(原始数据!A:A),这里A列替换成你原始数据里存ID的实际列,公式会自动溢出所有不重复的ID,不需要手动下拉。
  • 提取第一组item列:在ID列右侧第一列(对应第一个item的位置,比如ID在B列从B2开始,就点C2单元格)输入公式:
    =IFERROR(INDEX(原始数据!$B:$B,SMALL(IF(原始数据!$A:$A=$B2,ROW(原始数据!$A:$A)),COLUMN(A1))),"")
    公式里原始数据!$B:$B替换成你原始数据里第一组item所在的列,$B2是当前行对应的ID单元格。输入完直接右拉,拉到你预估单个ID下最多会有多少个item的列数,再选中这几列整体下拉,没有对应item的单元格会自动显示空白。
  • 提取第二组item列:直接复制第一组item第一列的公式,把公式里引用的item列换成原始数据里第二组item对应的列,再重复右拉下拉的操作就行。

如果用的是2019及更早的旧版Excel,输入完公式不要直接按回车,要按Ctrl+Shift+Enter三键触发数组公式,再做右拉下拉操作。

Power Query实现(推荐,零代码、易修改、支持大数据量)

完全不需要写VBA代码,鼠标点选操作就能完成,后续原始数据更新只要点一下刷新就能自动生成新结果,对VB不熟悉的话优先选这个方案:

  • 导入原始数据:选中原始数据的全部有效区域,点顶部菜单栏「数据」→「从表格/区域」,弹窗里勾选「我的表格有标题」,点确定就会进入Power Query编辑界面。
  • 按ID聚合行:选中ID列,点顶部「转换」选项卡→「分组依据」,弹窗里选「高级」模式,新增两个聚合列:两个列的操作都选「所有行」,分别对应第一组、第二组item数据,点确定后所有ID就会变成单行展示。
  • 展开item为多列:
    • 先处理第一组item:点列标题旁边的展开按钮,只勾选第一组item对应的字段,不要勾选ID,选择「提取值」,自定义分隔符填|(选一个你item内容里绝对不会出现的符号就行),确定后这一列会变成每个ID下所有item用|拼接的文本。
    • 选中这列,点「拆分列」→「按分隔符拆分」,分隔符选刚才填的|,高级设置里选「拆分为列」,确定后会自动把拼接的文本拆成单独的列,没有值的位置自动留空。
    • 第二组item列重复上面的提取值、拆分列操作即可。
  • 导出结果:点编辑器左上角「关闭并上载」,处理好的结构会自动导出到新的Excel工作表里。后续原始数据修改后,只要在结果表右键点「刷新」,就会自动重新计算结构,不需要重复走操作流程。

自定义调整说明

  • 用公式方案的话,后续要新增item分组、调整引用列,只要修改公式里对应的原始数据列位置即可,不需要改整体逻辑。
  • 用Power Query方案的话,编辑器右侧的「应用步骤」面板会记录你每一步的操作,要改参数直接点对应步骤的齿轮图标就能调整,比如要加新的item分组,只要回到分组步骤新增聚合列,后续补做展开拆分就行,不需要记代码语法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 19:21:28