如何调整QUERY公式以隐藏Amount值≤0的结果?
解决Google Sheets QUERY公式过滤Amount≤0行的问题
原公式会展示所有分组后的结果,包括Amount(即sum(Col4))≤0的行。要隐藏这些行,需要在QUERY语句中添加HAVING子句来过滤聚合后的结果(因为WHERE只能处理分组前的原始数据,无法筛选聚合计算值)。
修改后的公式:
=QUERY({A2:C,index(D2:D*if(C2:C="close",-1,1))},"select Col1, Col2, sum(Col4) where Col2 is not null group by Col1, Col2 having sum(Col4) > 0 label Col1 'Trade ID', Col2 'Asset', sum(Col4) 'Amount'")
关键改动说明:
- 在
group by Col1, Col2之后添加了having sum(Col4) > 0,这会只保留分组后Amount(sum(Col4))大于0的行,自动隐藏≤0的结果。 - HAVING子句专门用于过滤GROUP BY聚合后的结果,这是和WHERE子句的核心区别——WHERE是在分组前过滤原始行,而HAVING是在分组后过滤聚合结果。
内容的提问来源于stack exchange,提问作者cpaone
相关产品推荐
相关产品推荐

