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

Google Sheets借助QUERY函数按A列条件取对应列最后非空值

适配动态数据的分组取最后非空值解决方案

以下方案支持IMPORTRANGE导入的动态增长数据,完全保留A列原始出现顺序,不需要手动调整范围:

通用全量输出公式(单公式输出所有分组结果)

这个写法不需要辅助列,自动适配新增数据:

=SORT(
  SORTN(
    {A2:B,ROW(A2:B)},
    9^9,
    2,
    1,
    FALSE
  ),
  3,
  TRUE
)

公式逻辑说明

  • 给每行追加原始行号作为第三列,用于最终还原顺序
  • 先按A列升序、行号降序排序,让每个A分组的最后一行排在该组最前面
  • 用SORTN按A列去重,每个分组仅保留排在最前的行,也就是该组B列最后一个非空值对应的行
  • 最后按原始行号升序排序,还原A列的原始出现顺序

QUERY实现方案

如果必须使用QUERY函数实现,可使用以下写法:

=QUERY(
  {A2:B,ROW(A2:B)},
  "select Col1,Col2
   where Col2 is not null
   group by Col1,Col2
   having Col3 = max(Col3)
   order by max(Col3) asc",
  0
)

单值匹配公式(匹配D列单个分组值查询)

如果你需要像原来的INDEX公式一样,匹配D列的单个分组值取对应结果:
=QUERY(A:B,"select B where A = '"&D2&"' and B is not null order by ROW(A) desc limit 1",0)

注意事项

  • 所有公式中的范围A2:B可以直接替换为你的IMPORTRANGE返回范围,无需手动调整行号,新增数据会自动更新
  • 不需要提前对A列做排序操作,完全保留A列元素的原始出现顺序

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:45:04