google-sheets - 查询中的 IF 语句
问题描述
我有一个包含两列的表,A
第一列B
是标签,第二列是金额。我正在尝试编写一个包含两列的查询,一列总结负值,另一列总结正值。
来自SQL,我尝试了以下
=QUERY(A1:B100,
"SELECT A, SUM( B * IF(B>0, 0, 1) ),
SUM( B * IF(B<0, 0, 1) ) GROUP BY A ")
但似乎IF
查询中不支持该功能。我知道我可以在工作表中创建两个中间列(一个用于正值,一个用于负值),但我想知道是否可以通过查询或以某种方式在没有中间列的情况下实现我想要的。
解决方案
如果您必须使用查询功能,假设您的标签数据在 A 列中,而您的值在 B 列中:
=arrayformula(query({A1:A100,if(B1:B100>0,B1:B100,),if(B1:B100<0,B1:B100,)},"Select Col1, sum(Col2), sum(Col3) where Col1 <>'' group by Col1 label Col1 'Tag', sum(Col2) 'Positive', sum(Col3) 'Negative'"))
推荐阅读
- python-3.x - 通过python代码将语音转换为文本时出现错误的文本
- amazon-web-services - AWS Elasticsearch 集群方法来更新“http.max_content_length”?
- javascript - 开玩笑 - 找不到模块(第 3 方库)
- php - 在 Laravel 中查询这个的最佳方法
- android - 将 SHA256 指纹上传到 /.well-known/assetlinks.json 有哪些安全隐患
- javascript - 如何从实时数据中添加记录的时间以获得总数?
- gstreamer - 为什么这个 gst-launch 脚本不显示任何视频窗口?
- python - 如果其中一列包含多个关键字,是否有拆分数据框中行的功能?
- django - 模型和自定义查询集之间的 Django 循环导入依赖关系
- javascript - 为什么这个正则表达式不为每个单独的匹配项
- ?