在Google Sheets中使用QUERY函数计算唯一值数量的问题
解决Google Sheets按日期汇总并统计唯一用户数的问题
针对你有日期、用户、金额三列数据,需按日期分组汇总金额并统计当日唯一用户数量的需求,提供两种可行方案:
方案一:直接用QUERY函数实现
假设你的数据在A(日期)、B(用户)、C(金额)列,且第一行是表头,可使用以下公式:
=QUERY(A:C, "SELECT A, SUM(C), COUNTUNIQUE(B) GROUP BY A LABEL A '日期', SUM(C) '总金额', COUNTUNIQUE(B) '唯一用户数'", 1)
- 公式说明:
SELECT A, SUM(C), COUNTUNIQUE(B):指定提取日期、汇总金额、统计唯一用户数GROUP BY A:按日期分组计算LABEL ...:自定义输出表头,让结果更清晰- 末尾的
1表示数据源第一行是表头,QUERY会自动识别并跳过
方案二:组合函数兼容旧版本(若COUNTUNIQUE在QUERY中失效)
如果遇到QUERY不支持COUNTUNIQUE的情况,可分两步实现:
- 先按日期汇总金额:
=QUERY(A:C, "SELECT A, SUM(C) GROUP BY A LABEL A '日期', SUM(C) '总金额'", 1)
- 在汇总结果的右侧(假设日期列在D列)添加唯一用户数列,使用
COUNTUNIQUEIFS:
=ARRAYFORMULA(IFERROR(COUNTUNIQUEIFS(B:B, A:A, D:D)))
- 公式说明:
COUNTUNIQUEIFS会根据D列的每个日期,统计A列匹配该日期时B列的唯一用户数量,ARRAYFORMULA实现批量计算
内容的提问来源于stack exchange,提问作者Crazy8
相关产品推荐
相关产品推荐

