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

如何在Google Sheets中使用QUERY函数统计分组后的唯一值数量

QUERY函数按分组统计去重值解决方案

问题背景

现有如下原始数据:

NameAge
Annadult
Annadult
Andrewadult
Mikeadult
Annteenager
Johnteenager
Johnteenager

需要按Age分组,统计每个分组下不重复的Name数量,预期结果如下:

Agecount Name (distinct Names)
adult3
teenager2

错误原因分析

  1. Google Sheets的QUERY函数使用的是简化版SQL语法,原生不支持COUNT(UNIQUE(列名))这类嵌套聚合的写法,所以尝试的count(unique(A))会报错
  2. 之前测试的公式里group by A存在逻辑错误,分组维度是Age,应该按B列分组而非A列

正确实现方案

核心思路是先对原始数据做整体去重,再用QUERY做分组统计:先通过UNIQUE函数去掉所有「Name+Age完全重复」的行,此时剩下的每一行都对应一个唯一的Name+Age组合,再按Age分组统计行数即可得到每个分组下的唯一Name数量。

可用公式

=QUERY(UNIQUE(table), "select Col2, count(Col1) group by Col2 label count(Col1) 'count Name (distinct Names)'", 1)

公式说明

  • UNIQUE(table):返回原始数据去重后的结果,上述原始数据去重后会得到5条有效记录:Ann/adult、Andrew/adult、Mike/adult、Ann/teenager、John/teenager
  • 对去重后的结果按Col2(即Age列)分组,统计Col1(即Name列)的数量,刚好对应每个Age下的唯一Name数
  • label count(Col1) 'count Name (distinct Names)' 用来自定义输出的统计列列名,匹配预期输出要求
  • 如果你的Google Sheets区域设置使用逗号作为函数参数分隔符,将公式中的分号替换为逗号即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 06:36:09