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

Google Sheets中ARRAYFORMULA组合函数仅作用首行的问题排查与解决

问题原因

你的公式仅对第一行生效,核心问题是 ARRAYFORMULA 无法让 FILTER 逐行对应 N2:N 的每个值。FILTER 会将 'Glide App Users'!B2:B=N2:N 视为整体条件,只会返回与 N2 匹配的结果,后续行的 N3、N4... 不会被单独处理。

修复方案

使用 BYROW 函数逐行遍历 N2:N 的值,对每个值单独执行匹配和转置操作,公式如下:

=BYROW(N2:N, LAMBDA(x, IF(x="",, TRANSPOSE(FILTER('Glide App Users'!D2:D, 'Glide App Users'!B2:B=x)))))

公式说明

  • BYROW(N2:N, LAMBDA(x,...)):遍历 N2:N 的每一行,将当前单元格的值赋值给变量 x
  • IF(x="",, ...):若当前 N 列单元格为空,则返回空值,避免生成无效结果
  • TRANSPOSE(FILTER(...)):针对当前的 x,筛选出 Glide App Users 表中 B 列等于 x 的 D 列数据,再转置输出到当前行
替代方案(单单元格聚合结果)

如果不需要将匹配结果拆分到多个单元格,而是用分隔符聚合在一个单元格里,可以改用 TEXTJOIN:

=BYROW(N2:N, LAMBDA(x, IF(x="",, TEXTJOIN(", ", TRUE, FILTER('Glide App Users'!D2:D, 'Glide App Users'!B2:B=x)))))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 17:52:07