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

Google Sheets按相同A列合并B列值及按首字母累计数值求助

Google Sheets 数据处理需求实现方案

需求1:A列同值时合并对应B列数值

使用以下公式可直接输出「A列唯一值+对应合并后B列内容」的两列结果:
=BYROW(UNIQUE(FILTER(A:A,A:A<>"")),LAMBDA(x,{x,TEXTJOIN(",",1,FILTER(B:B,A:A=x))}))

  • 逻辑说明:先提取A列非空的唯一值,遍历每个唯一值筛选出所有对应的B列内容,用逗号合并并自动忽略空值。

需求2:逗号分隔的首字母对应数值累加

针对单个单元格内符合「字母:数字」格式的逗号分隔内容,使用以下公式完成同字母数值累加:

=LET(
split_items,SPLIT(TRIM(待处理单元格),",",1,1),
kv_pairs,BYROW(split_items,LAMBDA(i,{LEFT(TRIM(i),1),--REGEXEXTRACT(TRIM(i),"\d+")})),
unique_keys,UNIQUE(INDEX(kv_pairs,,1)),
sum_vals,BYROW(unique_keys,LAMBDA(k,SUMIF(INDEX(kv_pairs,,1),k,INDEX(kv_pairs,,2)))),
TEXTJOIN(",",1,BYROW(SEQUENCE(ROWS(unique_keys)),LAMBDA(i,INDEX(unique_keys,i)&":"&INDEX(sum_vals,i))))
)
  • 逻辑说明:先按逗号拆分内容,逐行提取首字母和对应数值,去重首字母后分组累加数值,最后拼接回要求的字符串格式。

双需求整合公式(从原始数据直接输出最终结果)

如果需要从原始A、B列一步得到最终的分组累加结果,直接使用以下数组公式即可,无需中间辅助列:

=BYROW(UNIQUE(FILTER(A:A,A:A<>"")),LAMBDA(group,
LET(
group_bs,FILTER(B:B,A:A=group),
all_items,FLATTEN(BYROW(group_bs,LAMBDA(b,SPLIT(TRIM(b),",",1,1)))),
kv_pairs,BYROW(all_items,LAMBDA(i,{LEFT(TRIM(i),1),--REGEXEXTRACT(TRIM(i),"\d+")})),
unique_keys,UNIQUE(INDEX(kv_pairs,,1)),
sum_vals,BYROW(unique_keys,LAMBDA(k,SUMIF(INDEX(kv_pairs,,1),k,INDEX(kv_pairs,,2)))),
{group,TEXTJOIN(",",1,BYROW(SEQUENCE(ROWS(unique_keys)),LAMBDA(i,INDEX(unique_keys,i)&":"&INDEX(sum_vals,i))))}
)
))
  • 注意:如果你的数据格式存在空格、字母后有特殊符号等情况,只需调整REGEXEXTRACT的匹配规则即可适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:09:03