Google Sheets单公式实现目标匹配展示(无需拖拽)求助
解决方案
公式实现
在M5单元格输入以下公式,即可批量生成对应结果(无需拖拽):
=ARRAYFORMULA(IF(L5:L49="",,BYROW(L5:L49, LAMBDA(x, TEXTJOIN(" - ", TRUE, IFNA(FILTER(D5:D49, MMULT(--(D5:H49=x), SEQUENCE(COLUMNS(D5:H49),1,1,0))>0))))))
思路解析
- 批量处理:用
ARRAYFORMULA实现整列自动计算,无需逐行拖拽;BYROW(L5:L49, LAMBDA(x, ...))遍历L列每个目标值x,逐一处理匹配逻辑。 - 行匹配判断:
MMULT(--(D5:H49=x), SEQUENCE(COLUMNS(D5:H49),1,1,0))>0将数据区域内等于x的单元格转为1,其余为0,通过矩阵乘法计算每行的匹配总数,总数>0即表示该行包含目标值。 - 筛选与拼接:用
FILTER提取匹配行的D列内容,再通过TEXTJOIN(" - ", TRUE, ...)将结果用-连接,TRUE参数自动忽略空值,IFNA处理无匹配时的空值情况。 - 空值处理:
IF(L5:L49="",, ...)确保L列空单元格对应的M列也为空。
原公式问题分析
你原公式仅针对单个目标值L5处理,未实现批量遍历L列所有值;且BYROW遍历的是数据行而非目标值行,无法自动适配M列整列的计算需求。
内容的提问来源于stack exchange,提问作者zagalico
相关产品推荐
相关产品推荐

