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

Excel:合并A、B列唯一组合并对应求和C列的方法求助

Excel合并列唯一组合并求和的解决方法

问题原因

你用SUMIF(CONCATENATE(A1:A6,B1:B6), D1, C1:C6)无效,核心原因是SUMIF的第一个参数必须是单元格区域,而CONCATENATE(A1:A6,B1:B6)返回的是单个拼接后的文本(不是可迭代的数组/区域),无法和D列的唯一值完成匹配。

解决方法

方法1:辅助列法(兼容所有Excel版本)

这是最直观的方案,适配所有版本的Excel:

  • 新增一列(比如D列),输入拼接公式:=A1&" "&B1,下拉填充到所有数据行
  • 在F列生成唯一组合:Excel 365/2021可直接用=UNIQUE(D1:D6);旧版Excel需用数组公式=INDEX(D:D,MATCH(0,COUNTIF(F$1:F1,D:D),0)),输入后按Ctrl+Shift+Enter确认,下拉直到出现#N/A停止
  • 在G列对应位置输入求和公式:=SUMIF(D:D, F1, C:C),下拉填充即可

方法2:无辅助列动态数组法(Excel 365/2021)

如果使用支持动态数组的Excel版本,可跳过辅助列直接完成需求:

  1. 生成唯一拼接值(比如D列):
    =UNIQUE(A1:A6&" "&B1:B6)
    
  2. 对应E列求和,用BYROW+LAMBDA拆分匹配原列数据:
    =BYROW(D1#, LAMBDA(x, SUMIFS(C:C, A:A, LEFT(x, FIND(" ", x)-1), B:B, RIGHT(x, LEN(x)-FIND(" ", x)))))
    
    若使用Excel 365最新版本,还能更简洁:用GROUPBY直接输出合并后的唯一值及对应求和结果:
    =GROUPBY(A1:A6&" "&B1:B6, C1:C6, SUM, 0, 1)
    

方法3:旧版Excel数组公式方案

针对无动态数组功能的旧版Excel,用数组公式实现:

  • 生成唯一组合(D列):
    =INDEX($A$1:$A$6&" "&$B$1:$B$6, MATCH(0, COUNTIF($D$1:D1, $A$1:$A$6&" "&$B$1:$B$6), 0))
    
    输入后按Ctrl+Shift+Enter确认,下拉直到出现#N/A停止。
  • 对应求和(E列):
    =SUM(IF($A$1:$A$6&" "&$B$1:$B$6=D1, $C$1:$C$6, 0))
    
    同样按Ctrl+Shift+Enter确认后下拉填充。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:27:21