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

Google Sheets Query语句计算商品平均售价的语法问题求助

解决Google Sheets Query计算加权平均的语法问题

问题背景

我有一个20列的大型表格,其中3个核心列是销售人员销售数据:Name(姓名,对应Col1)、Qty(数量,对应Col2)、Average sale price(平均售价,对应Col3)。用标准公式=Sumproduct(C4:C8, D4:D8)/Sum(C4:C8)能算出商品加权平均售价为$13.52,但在D16单元格用Query语句Query(B4:D8, "Select Sum(Col2*Col3)/Sum(Col2)")时出现解析错误。需要仅用Query语句解决,不能用SUMIF或Filter,也不想用辅助列。

正确Query语法

Google Sheets的Query语言不支持在SELECT子句里直接对聚合结果做算术运算(比如Sum(a)/Sum(b)这种写法),但可以通过嵌套Query实现:

嵌套Query写法

=QUERY(QUERY(B4:D8, "SELECT SUM(Col2*Col3), SUM(Col2)"), "SELECT Col1/Col2 LABEL Col1/Col2 ''")
  • 内层Query:先计算出SUM(Col2*Col3)(数量×售价的总和,即分子)和SUM(Col2)(数量总和,即分母),得到一行两列的结果
  • 外层Query:对这两个结果做除法,并用LABEL ... ''去掉Query默认生成的表头,直接显示计算数值

是否需要辅助列?

不需要辅助列,上述嵌套Query写法直接完成加权平均计算,无需额外添加列存储中间结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 01:35:55