我试着把一张桌子转换成另一张桌子。
我的语法有什么问题?
=QUERY(B21:D24, "select A,C where A is not null group by A pivot B",1)
无法解析函数查询参数2的查询字符串: CANNOT_GROUP_WITHOUT_AGG
发布于 2020-09-26 21:18:38
问题:
CANNOT_GROUP_WITHOUT_AGG
意味着如果没有AGG
regate函数,查询就不能使用组列。
select A,C where A is not null group by A pivot B
您要求它按A分组,如果查询按A列分组,那么C列怎么办?列C不能并排显示。尽管您的样本在B中没有重复,但是如果B列是a
、b
、a
而不是a
、b
、c
,那么会发生什么。需要对C列进行汇总。否则,对于A中的每个组,您想要对C做什么(如果C中有多个项用于同一个组)?
解决方案:
为C类,sum
,count
,max
等列提供一个聚合函数。对于A中的每个组,相应的C列将被求和或计数,或者取该组中C的最大值。
片段:
=QUERY(B21:D24, "select A, sum(C) where A is not null group by A pivot B",1)
发布于 2020-09-26 20:39:21
请使用下面的公式来得到0
。
正是IF
函数将在您的支点中为您提供0
。
=ArrayFormula(IF(QUERY(M1:O22, "select M, sum(O) where M is not null group by M pivot N")="",0,
QUERY(M1:O22, "select M, sum(O) where M is not null group by M pivot N")))
至于语法,是提到过
如果使用枢轴子句,则select子句中列出的每一列都必须在group by子句中列出,或者由聚合函数包装。
所使用的职能:
https://stackoverflow.com/questions/64080936
复制相似问题