Google Sheets:搜索指定名称并返回对应A列分类的公式需求
解决方案
你可以用TEXTJOIN搭配FILTER和MMULT实现需求,公式如下:
=TEXTJOIN(", ", TRUE, FILTER(A:A, MMULT(--(B:C="Elvis"), SEQUENCE(COLUMNS(B:C), 1, 1, 0))>0))
公式说明:
--(B:C="Elvis"):将B到C区域内等于"Elvis"的单元格转为1,其余转为0MMULT(..., SEQUENCE(COLUMNS(B:C), 1, 1, 0)):对每行的0/1值求和,只要该行存在至少一个1,结果就大于0FILTER(A:A, ...>0):筛选出A列中对应行满足条件的分类名称TEXTJOIN(", ", TRUE, ...):把筛选出的分类名称用「逗号+空格」连接成字符串
如果需要将搜索目标改为可编辑的单元格(比如把目标名称放在D1),只需把公式里的"Elvis"替换为D1即可:
=TEXTJOIN(", ", TRUE, FILTER(A:A, MMULT(--(B:C=D1), SEQUENCE(COLUMNS(B:C), 1, 1, 0))>0))
替代方案(使用BYROW函数)
如果你的Google表格支持BYROW函数,也可以用更直观的写法:
=TEXTJOIN(", ", TRUE, FILTER(A:A, BYROW(B:C, LAMBDA(row, COUNTIF(row, "Elvis")>0))))
该公式通过BYROW遍历B:C的每一行,用COUNTIF检查该行是否包含目标名称,再筛选对应A列值并连接。
内容的提问来源于stack exchange,提问作者Eric
相关产品推荐
相关产品推荐

