Google Sheets公式求助:匹配H/J列代码时对K列求和,试Lambda等未成功
解决办法
直接用以下几种公式即可实现需求:
方法1:基础SUMIF公式(适合手动下拉)
在需要显示结果的单元格(比如L2)输入:
=SUMIF(J:J, H2, K:K)
输入完成后下拉填充到H列所有对应行,就能得到每个H列代码匹配J列时,K列的求和结果。
方法2:动态数组公式(自动生成所有结果,无需下拉)
如果你的Google Sheets支持动态数组,用这个公式一次性生成所有结果(比如在L2输入):
=MAP(H2:H, LAMBDA(code, SUMIF(J:J, code, K:K)))
这个公式会自动遍历H列的每个代码,匹配J列后对对应K列数值求和,结果自动填充到下方单元格。
方法3:QUERY函数(适合去重后汇总)
如果需要对H列的唯一代码进行汇总,用QUERY函数:
=QUERY(J:K, "select J, sum(K) where J is not null and J matches '"&TEXTJOIN("|", TRUE, UNIQUE(H2:H))&"' group by J label sum(K) '总和'", 1)
它会返回H列中出现的所有唯一代码,以及对应的K列求和结果,同时自动添加表头。
注意事项
- 确保J列和H列的代码格式一致(比如都是文本或数字,没有额外空格),如果有空格可以用
TRIM()函数处理,比如把公式里的H2改成TRIM(H2),J:J改成TRIM(J:J)。 - 如果数据源范围是固定的,建议用具体单元格范围代替整列(比如
J2:J1000),能提升公式运行效率。
内容的提问来源于stack exchange,提问作者Kam
相关产品推荐
相关产品推荐

