Google Sheets Query排序问题:同日期下收入列优先于债务列
解决方案
你可以在Google Sheets的QUERY语句里通过自定义排序优先级实现需求,核心逻辑是先按日期列排序,再给收入行和债务行分配不同的排序权重,让收入行排在前面。
直接用这个公式即可:=QUERY(A:C, "SELECT * ORDER BY A, IF(B IS NOT NULL, 1, 2)", 1)
公式说明
SELECT *:选中A、B、C列的全部数据ORDER BY A:优先按A列的日期进行排序IF(B IS NOT NULL, 1, 2):给B列有值的行(收入行)分配权重1,B列空的行(债务行)分配权重2;因为1小于2,同一日期下权重小的行会排在前面,刚好满足收入在前、债务在后的要求- 最后的
1代表你的数据有表头行,如果数据没有表头,直接改成0就行
适配你的示例数据
用这个公式处理你给出的示例数据后,排序结果会和你预期的一致:
Jan1 income
Jan1 income
jan1 debts
Jan2 income
Jan2 debts
Jan2 debts
...
内容的提问来源于stack exchange,提问作者Googlegeek
相关产品推荐
相关产品推荐

