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

如何在Google Sheets中用QUERY()和FILTER()按条件返回最新记录?

Google Sheets QUERY公式返回空结果的排查与修正

问题核心原因

原公式中where子句给最大值添加了单引号',如果Col6(对应原表F列)是数字类型,单引号会把最大值转为字符串,导致数字与字符串无法匹配,最终返回空结果。

修正方案

方案1:移除最大值的单引号

直接去掉where子句中包裹最大值的单引号,让数字和数字匹配:

=QUERY(
    FILTER('BD Financeiro'!A2:Y; 'BD Financeiro'!X2:X=1);
    "select Col1, Col13, Col14, Col15, Col20, Col5, Col8, Col10, 
    Col11, Col23, Col21, Col16, Col17, Col18, Col19, Col22 
    where Col6 = "&max(
        FILTER('BD Financeiro'!F2:F; 'BD Financeiro'!X2:X=1))
)

方案2:用QUERY子查询简化公式(更高效)

避免嵌套FILTER,直接在QUERY内部完成筛选和最大值匹配,同时确保类型一致:

=QUERY('BD Financeiro'!A2:Y;
    "select Col1, Col13, Col14, Col15, Col20, Col5, Col8, Col10, 
    Col11, Col23, Col21, Col16, Col17, Col18, Col19, Col22 
    where Col24 = 1 and Col6 = (select max(Col6) from 'BD Financeiro'!A2:Y where Col24 = 1)")

注:Col24对应原表的X列(A列为Col1,依次类推)

额外排查点

  • 确认'BD Financeiro'!X2:X中确实存在值为1的行,否则max(FILTER(...))会返回错误,导致QUERY无结果。
  • 验证Col6对应的数据类型:如果是文本格式的数字,可尝试用TO_TEXT(max(...))包裹最大值并保留单引号,但优先建议将列转为数字格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 20:22:17