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

Google Sheets QUERY按Cost值及日期范围拆分# Allotted列咨询

Google Sheets 按条件拆分# Allotted列的实现方案

核心逻辑

无需分别编写两个QUERY语句,直接使用单条QUERY的条件聚合功能,以Customer为分组依据合并计算结果,从根源避免两个查询结果匹配错位的问题。

可用公式

在输出结果的起始单元格输入以下公式,即可直接生成包含Customer、Free Trial、Purchased三列的完整结果:

=QUERY(A:F,"SELECT B, SUM(IF(C=0,F,0)), SUM(IF(C>0,F,0)) WHERE A IS NOT NULL GROUP BY B LABEL SUM(IF(C=0,F,0)) 'Free Trial', SUM(IF(C>0,F,0)) 'Purchased'",1)

参数说明

  • 上述公式默认数据源范围为A:F,你可根据自己的实际数据范围调整
  • IF(C=0,F,0):判断Cost列(C列)数值为0时取# Allotted列(F列)的数值,否则取0,再通过SUM聚合同一客户的所有符合条件的数值
  • WHERE A IS NOT NULL:过滤数据源中的空行,避免输出冗余结果
  • GROUP BY B:以Customer列(B列)为分组依据,保证每个客户仅对应一行结果,不会出现匹配错位
  • LABEL段:自定义输出的列名,可根据你的需求修改命名

带日期范围筛选的扩展公式

如果你需要额外限定查询的日期范围,可参考以下公式调整日期参数即可:

=QUERY(A:F,"SELECT B, SUM(IF(C=0,F,0)), SUM(IF(C>0,F,0)) WHERE A >= date '2024-01-01' AND A <= date '2024-01-31' GROUP BY B LABEL SUM(IF(C=0,F,0)) 'Free Trial', SUM(IF(C>0,F,0)) 'Purchased'",1)

注意:公式中的日期格式必须为年-月-日的格式,且需要加date前缀才能被QUERY识别

其他场景适配

如果你不需要按客户聚合,要保留每行原始数据的其他维度,可删除聚合函数和GROUP BY子句,公式调整为:

=QUERY(A:F,"SELECT B, IF(C=0,F,0), IF(C>0,F,0) WHERE A IS NOT NULL LABEL IF(C=0,F,0) 'Free Trial', IF(C>0,F,0) 'Purchased'",1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:45:03