Google Sheets用QUERY对包含指定子串的行求和输出到单个单元格
解决方法
方案1:直接调整QUERY语句(最简便)
不需要嵌套,也不需要分组逻辑,直接查询符合条件的B列总和,同时关闭默认表头即可:=QUERY(A:B, "select sum(B) where A contains 'Luka' and A contains 'Jean' label sum(B) ''", 0)
- 去掉了原语句中的
select A和group by A,直接对所有符合条件的行做全局求和 label sum(B) ''参数会将sum函数默认生成的表头置为空- 末尾的
0表示数据源没有表头,如果你的表格A1/B1是表头,将该值改为1即可
方案2:嵌套查询实现
如果需要基于你原有的分组求和逻辑做二次汇总,嵌套写法如下:=QUERY(QUERY(A:B, "select sum(B) where A contains 'Luka' and A contains 'Jean' group by A", 0), "select sum(Col1) label sum(Col1) ''", 0)
内层QUERY先按A列分组得到各分组的求和结果,外层QUERY对内层返回的第一列结果做二次汇总,同样用label参数关闭表头。
方案3:非QUERY简化写法
如果没有强制要求使用QUERY,用SUMIFS实现更简洁:=SUMIFS(B:B, A:A, "*Luka*", A:A, "*Jean*")
自动返回单个求和值,不需要额外处理表头配置。
内容的提问来源于stack exchange,提问作者Clément
相关产品推荐
相关产品推荐

