You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Query筛选多数据类型表格并保留数值型数据降序排列

解决方法

直接使用以下Query公式即可实现需求:

=QUERY({B:B, F:F}, "SELECT Col1, Col2 WHERE Col2 IS NOT NULL AND Col2 >= 0 ORDER BY Col2 DESC", 1)

公式说明

  • {B:B, F:F}:将姓名列(B列)和数据列(F列)合并为一个虚拟数组,让Query可以同时处理两列数据
  • WHERE Col2 IS NOT NULL:过滤掉数据列中的空值
  • Col2 >= 0:利用Query的特性,非数值类型的数据无法满足数值比较条件,会被自动过滤;如果你的数据包含负数,可将条件改为Col2 <= 999999(或其他足够大的数值),同样能过滤非数值
  • ORDER BY Col2 DESC:按数据列的数值进行降序排列
  • 最后的1:指定第一行为表头,确保输出的表格保留表头结构

为什么ARRAYFORMULA+ISNUMBER的方式没成功?

当你尝试用ARRAYFORMULA(ISNUMBER(F:F))生成布尔数组再传入Query时,Query的WHERE子句需要将布尔值转化为可识别的条件,这种方式容易因为数组结构不匹配导致失效。而直接用数值比较的方式更简洁,且能直接利用Query对数据类型的自动判断,过滤非数值数据。

执行上述公式后,输出结果将与你期望的表格完全一致:

NameData
Max Mustermann15
Robert Miller5
James Brown1

内容的提问来源于stack exchange,提问作者Michael1509

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 16:08:16