如何在Google Sheets中用Query函数合并同类分组行统计数据
解决方法
要合并命名不规范的分类并统计Team 1的出现次数,核心是先把A列的分类名称统一成标准格式,再做统计,下面是具体实现方式:
单公式直接搞定
用正则提取分类的核心部分(比如去掉开头的数字和点),结合Query一步出结果:
=QUERY( {ARRAYFORMULA(IF(A:A<>"",REGEXEXTRACT(A:A,"category \d+"),"")), B:B}, "SELECT Col1, COUNT(Col2) WHERE Col2='Team 1' GROUP BY Col1 LABEL Col1 '规范分类', COUNT(Col2) 'Team 1出现次数'", 1 )
- 前面的
ARRAYFORMULA+REGEXEXTRACT会把"1.category 1"、"category 1"这类格式统一成"category 1"。 - 用
{}把清洗后的分类和原B列拼成新数据源,再用Query统计Team 1的分类次数,最后给表头改个清晰的名字。
分步操作(更易懂)
要是觉得单公式太绕,可以拆成两步:
- 在C列第一行(比如C2)输入清洗公式,下拉填充:
这一步会把所有不规范的分类转换成统一格式。=IF(A2<>"",REGEXEXTRACT(A2,"category \d+"),"") - 用Query基于C、B列统计:
=QUERY(C:B,"SELECT C, COUNT(B) WHERE B='Team 1' GROUP BY C LABEL C '规范分类', COUNT(B) 'Team 1出现次数'",1)
适配更多命名变种
如果你的分类还有其他格式(比如首字母大写的"Category 1"、缩写"cat 1"),可以调整正则:
- 忽略大小写:把正则改成
(?i)category \d+ - 匹配"cat"或"category":改成
(?i)(cat(egory)?)\s\d+
内容的提问来源于stack exchange,提问作者S O
相关产品推荐
相关产品推荐

