在Google表格中运行查询时遇到问题。数组公式查询的结果是正确的,但用于排序结果的列(Col1)由空白/空单元格和日期组成。因此,当按此列排序时,在日期之前首先列出空白/空值。是否可以将日期排在第一位并将空白/空单元格推到底部?
由DESC订购将无法正常工作,因为我希望首先列出早期日期。另外,空白/空单元格也不能完全排除在结果之外(例如,它们对应于没有最后期限但仍必须列出的任务)。
我目前使用的公式是:
= ARRAYFORMULA((QUERY({DATA RANGE},“SELECT Col1 WHERE Col2 = X OR Col3 = X ORDER BY Col1 LIMIT 10”,0))
似乎有一种简单的方法来实现这一目标,但我在其他论坛中找不到关于该主题的任何内容。任何帮助将不胜感激。
我相信你的例子可以让它像这样工作:
=SORT(ARRAYFORMULA((QUERY({DATA RANGE},"SELECT Col1 WHERE Col2 = X OR Col3 = X",0)), 1, 1)
(未经测试)
如果你的LIMIT 10
很重要,那么我认为你可以将整个事情包装在另一个查询中并重新添加LIMIT
。
定义省略标题的范围的简单版本:
=SORT(QUERY(A2:B7, "select *"), 1, 1)
处理标题的版本:
={A1:B1;SORT(QUERY(tabname!A2:B7, "select *"), 1, 1)}
此版本创建一个组合标题行和数据行的数组,以便它可以独立于标题对数据行进行排序。
Array {[range 1]; [range 2]}
SORT() SORT([range], [column to sort on], [sort ascending - true/false or 1/0)
Query() QUERY([range], "[query]")