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

如何在Google Sheets中按匹配姓名将多行合并为一行?

解决方案:Google Sheets原生公式合并同姓名条目到单行

假设原始数据位于A1:D7(表头Name/Group/Purchase/Quantity在第1行),以下是实现目标的分步操作:

1. 提取唯一姓名及对应Group

在结果区域的第2行开始:

  • 提取唯一姓名(结果A2单元格):
    =UNIQUE(A2:A7)
    
  • 匹配对应Group(结果B2单元格):
    =XLOOKUP(A2,$A$2:$A$7,$B$2:$B$7,"")
    
    下拉公式到所有唯一姓名行,自动匹配每个姓名对应的Group。

2. 拆分Purchase和Quantity到多列

针对每个姓名的第N条记录,使用数组公式提取对应值(需按Ctrl+Shift+Enter触发数组计算,部分新版Google Sheets可直接回车):

第1组Purchase/Quantity(结果C2/D2)

  • Purchase 1:
    =IFERROR(INDEX($C$2:$C$7,SMALL(IF($A$2:$A$7=$A2,ROW($A$2:$A$7)-ROW($A$2)+1),1)),"")
    
  • Quantity 1:
    =IFERROR(INDEX($D$2:$D$7,SMALL(IF($A$2:$A$7=$A2,ROW($A$2:$A$7)-ROW($A$2)+1),1)),"")
    

第2组Purchase/Quantity(结果E2/F2)

将公式中的1替换为2:

  • Purchase 2:
    =IFERROR(INDEX($C$2:$C$7,SMALL(IF($A$2:$A$7=$A2,ROW($A$2:$A$7)-ROW($A$2)+1),2)),"")
    
  • Quantity 2:
    =IFERROR(INDEX($D$2:$D$7,SMALL(IF($A$2:$A$7=$A2,ROW($A$2:$A$7)-ROW($A$2)+1),2)),"")
    

第3组及更多

重复上述逻辑,将SMALL函数的第3个参数依次改为3、4...,直到覆盖原始数据中同一姓名的最大条目数(本例中John Matthews有3条,所以做3组即可)。

3. 批量应用公式

将所有公式下拉到结果区域的所有行,即可自动填充所有姓名对应的拆分数据,空值会显示为空白而非错误提示。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 23:27:13