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

Google Sheets中INDEX+MATCH函数如何返回匹配的全部多行结果?

解决Google Sheets合并单元格搜索返回全部关联行的问题

问题分析

你当前用的=INDEX(B4:E400;MATCH(H20;B4:B400;0))只能返回第一行,原因是合并单元格的内容仅存在于最上方的单元格,MATCH只会定位到第一个非空匹配项的行号,自然只能拿到单行结果。要获取所有关联行,得先给每一行补全对应的合并单元格分组值,再筛选目标分组的所有数据。

通用解决方案(适配任意行数的合并单元格)

用FILTER+SCAN组合公式,自动补全每行的分组值并筛选:

=FILTER(B4:E400, SCAN("", B4:B400, LAMBDA(prev, curr, IF(curr<>"", curr, prev))) = H20)
  • SCAN函数:遍历B列单元格,遇到非空值(合并单元格首行)就更新当前分组值,空值则沿用之前的分组值,让每一行都能关联到对应的合并单元格内容。
  • FILTER函数:筛选出所有分组值等于H20的行,返回B到E列的完整数据。

固定行数的简化方案(若每个合并单元格固定对应5行)

如果确定每个合并单元格都对应5行数据,可直接通过起始行号批量提取:

=INDEX(B4:E400, MATCH(H20, B4:B400, 0) + SEQUENCE(5) - 1, 0)
  • MATCH(H20, B4:B400, 0)定位到合并单元格的首行号。
  • SEQUENCE(5)生成1-5的序列,加上首行号再减1,得到首行到首行+4的5个行号,INDEX一次性返回这些行的所有列数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 01:20:02