在Google Sheets中实现Vlookup多结果查询并合并为逗号分隔列表
在Google Sheets中获取VLOOKUP的多个匹配结果并合并为逗号分隔列表
方法1:TEXTJOIN + FILTER 组合(最简便高效)
直接用这两个函数的组合就能实现需求,公式示例如下:
=TEXTJOIN(", ", TRUE, FILTER(返回值列区域, 条件列区域=查找值))
举个实际场景的例子:假设你要匹配的属性在单元格A2,属性列是D:D,对应的列表项列是E:E,公式就是:
=TEXTJOIN(", ", TRUE, FILTER(E:E, D:D=A2))
TEXTJOIN(", ", TRUE, ...):用「逗号+空格」作为分隔符拼接结果,第二个参数TRUE表示自动忽略空值,避免出现多余分隔符FILTER(E:E, D:D=A2):筛选出D列中等于A2属性的所有E列列表项
如果要避免无匹配时返回错误值,可以套一层IFERROR:
=IFERROR(TEXTJOIN(", ", TRUE, FILTER(E:E, D:D=A2)), "无匹配结果")
方法2:QUERY + TEXTJOIN 组合
如果习惯用QUERY函数做数据筛选,也可以用这个组合:
=TEXTJOIN(", ", TRUE, QUERY(数据区域, "select 要返回的列 where 条件列 = '"&查找值&"'", 0))
还是用上面的场景举例,公式为:
=TEXTJOIN(", ", TRUE, QUERY(D:E, "select E where D = '"&A2&"'", 0))
- 注意:如果查找值是数字类型,要去掉公式里的单引号,改成
"select E where D = "&A2 QUERY的第三个参数0表示数据区域没有表头,有表头的话改成1
内容的提问来源于stack exchange,提问作者Hasan Kawaai Pikachu
相关产品推荐
相关产品推荐

