按物品组分组统计各地点/月份的PCS数量求和问题
问题解决:Google Sheets QUERY分组求和修正
原始数据
| LOC | ITEM | GROUP | MONTH | PCS |
|---|---|---|---|---|
| X | A1 | A | 01/01/2022 | 8 |
| Y | A1 | A | 01/01/2022 | 76 |
| Z | A1 | A | 01/01/2022 | 11 |
| X | A2 | A | 01/01/2022 | 9 |
| Y | A2 | A | 01/01/2022 | 19 |
| Z | A2 | A | 01/01/2022 | 13 |
需求
按GROUP分组,统计指定条件(LOC='X'、GROUP='A'、MONTH='01/01/2022')下,每个LOC/MONTH对应的PCS总和,预期结果如下:
| LOC | GROUP | MONTH | PCS |
|---|---|---|---|
| X | A | 01/01/2022 | 17 |
原公式问题
你当前使用的QUERY公式存在两处逻辑错误:
QUERY(DATA;"SELECT LOC,ITEM,GROUP,SUM(PCS) WHERE LOC='X' AND GROUP='A' AND MONTH='01/01/2022' GROUP BY LOC,GROUP,MONTH,PCS";1)
- SELECT子句包含了不需要的
ITEM字段,且GROUP BY错误包含了聚合字段PCS(聚合函数的字段不能出现在GROUP BY中) - GROUP BY的字段与SELECT中的非聚合字段不匹配,导致分组逻辑错误,无法得到正确的总和
修正后的公式
QUERY(DATA;"SELECT LOC,GROUP,MONTH,SUM(PCS) WHERE LOC='X' AND GROUP='A' AND MONTH='01/01/2022' GROUP BY LOC,GROUP,MONTH";1)
修正说明
- SELECT子句仅保留需要展示的分组维度(LOC、GROUP、MONTH)和聚合计算
SUM(PCS) - GROUP BY子句严格对应SELECT中的非聚合字段,确保按这三个维度分组求和,最终得到LOC=X、GROUP=A、MONTH=01/01/2022下的PCS总和17
内容的提问来源于stack exchange,提问作者Nicola Bertellini
相关产品推荐
相关产品推荐

