如何调整QUERY公式:当Col3含“close”时将Col4视为负值?
调整QUERY公式实现条件求和
你可以通过在sum()中加入条件判断来实现需求,当Col3包含“close”时将Col4转为负值再求和,调整后的完整公式如下:
=QUERY(VSTACK(A2:D),"select Col1, Col2, sum(IF(REGEXMATCH(Col3, 'close'), -Col4, Col4)) where Col2 is not null group by Col1, Col2 label Col1 'Trade ID', Col2 'Asset', sum(IF(REGEXMATCH(Col3, 'close'), -Col4, Col4)) 'Amount'")
关键改动说明:
- 将原公式中的
sum(Col4)替换为sum(IF(REGEXMATCH(Col3, 'close'), -Col4, Col4)),利用REGEXMATCH检测Col3是否包含“close”文本,满足条件时取-Col4,否则保留原Col4值,再对结果求和。 - 如果需要不区分大小写匹配(比如匹配“Close”“CLOSE”等),可以把正则表达式改为
'(?i)close',即:sum(IF(REGEXMATCH(Col3, '(?i)close'), -Col4, Col4)) - 注意label部分也要同步修改对应的sum表达式,确保表头显示正常。
内容的提问来源于stack exchange,提问作者cpaone
相关产品推荐
相关产品推荐

