Google Sheets多值循环VLOOKUP匹配并拼接结果如何实现?
多值分隔匹配拼接标签公式方案
前置说明
你需要的功能核心逻辑是「拆分分隔值 → 批量匹配 → 结果拼接」,以下分别给出Google Sheets和Excel高版本的可直接使用的公式:
Google Sheets 公式
在BUSINESSES表的Tags列首行数据单元格(即对应第一条数据的D2单元格)输入以下公式,下拉填充即可:=TEXTJOIN("|",TRUE,ARRAYFORMULA(IFERROR(VLOOKUP(SPLIT(C2,"|"),SERVICES!A:B,2,FALSE),"")))
函数逻辑说明
SPLIT(C2,"|"):将当前行Services列的内容按|拆分为独立服务名称的数组VLOOKUP:遍历拆分后的每个服务名,匹配SERVICES表中对应的标签字符串IFERROR:过滤未匹配到的服务,避免返回错误值影响拼接ARRAYFORMULA:开启数组运算,支持一次性处理所有拆分后的服务名TEXTJOIN:将所有匹配到的标签字符串用|拼接,自动忽略空值
Excel 365/2021 公式
在BUSINESSES表的D2单元格输入以下公式,下拉填充即可:=TEXTJOIN("|",TRUE,IFERROR(XLOOKUP(TEXTSPLIT(C2,"|"),SERVICES!A:A,SERVICES!B:B,""),""))
适配说明
如果使用的是没有TEXTSPLIT、XLOOKUP的低版本Excel,可先插入辅助列将Services列的内容按|拆分为多列,再逐列匹配后拼接结果。
示例场景验证:
第一条数据Services为Business,匹配返回Test1|Test2,符合预期
第二条数据Services为Business|Financial Management,匹配后拼接得到Test1|Test2|Finances|Accounting|Budgeting,符合预期
内容的提问来源于stack exchange,提问作者Wes Foster
相关产品推荐
相关产品推荐

