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

使用ARRAYFORMULA与QUERY跨键范围匹配提取全部对应值的公式问题

公式问题说明

你写的公式无法批量返回结果的核心原因是:QUERY 不支持数组化的条件遍历。你在查询语句中拼接整列范围 A1:A 时,QUERY只会读取A1单元格的值生成单次查询条件,不会逐行读取A列每个单元格的键分别执行查询,因此仅能返回第一行的匹配结果,后续行无输出。

额外提醒:如果你需要的是精确匹配Type字段,不建议用contains关键词,避免出现部分字符匹配的误判(比如存在foodtest类型时也会被contains 'food'匹配到)。


可用解决方案

在B1单元格写入以下公式即可实现预期效果:
如果Range1是已命名的表格:

=BYROW(A1:A,LAMBDA(key,IF(key="",,TRANSPOSE(FILTER(Range1[Desc],Range1[Type]=key)))))

如果Range1是普通单元格范围:

=BYROW(A1:A,LAMBDA(key,IF(key="",,TRANSPOSE(FILTER(INDEX(Range1,,2),INDEX(Range1,,1)=key)))))

公式逻辑:

  • 用BYROW遍历A列每一行的值,逐个传入LAMBDA作为查询键key
  • 每次查询用FILTER筛选Range1中Type和当前key匹配的所有Desc值
  • 转置为行格式输出,空行自动跳过不输出内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:54:03