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

Google Sheets QUERY函数中实现COUNT DISTINCT的问题

解决Google Sheets中QUERY统计分组内唯一值数量的问题

原公式=QUERY(DATA!A2:H;"select Col1,Col2,Col3, count(Col4) group by Col1,Col2,Col3 ")会统计分组内Col4的所有非空值次数(包含重复值),要实现重复数值仅计数一次的需求,可以通过以下两种方式实现:

方法一:结合UNIQUE预处理数据后用QUERY统计

先通过UNIQUE函数提取A-D列中不重复的行(即去除Col1、Col2、Col3相同且Col4也重复的记录),再用QUERY按前三个列分组计数:

=QUERY(UNIQUE(DATA!A2:D), "select Col1,Col2,Col3, count(Col4) group by Col1,Col2,Col3 label count(Col4)'唯一值数量'")
  • 原理:UNIQUE(DATA!A2:D)会保留每组(Col1,Col2,Col3)下不同的Col4值,后续的count(Col4)就会统计该分组内Col4的唯一值数量。

方法二:用COUNTUNIQUEIFS直接计算分组唯一值

如果不需要依赖QUERY的语法,也可以用COUNTUNIQUEIFS结合数组公式直接生成结果:

=ARRAYFORMULA(QUERY({DATA!A2:C, COUNTUNIQUEIFS(DATA!D2:D, DATA!A2:A, DATA!A2:A, DATA!B2:B, DATA!B2:B, DATA!C2:C, DATA!C2:C)}, "select Col1,Col2,Col3, max(Col4) group by Col1,Col2,Col3 label max(Col4)'唯一值数量'"))
  • 原理:先通过COUNTUNIQUEIFS计算每一行对应的分组(Col1,Col2,Col3)下Col4的唯一值数量,再用QUERY分组取该值(同一分组的结果相同,用max/min均可)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:06:13