如何用BYROW/LAMBDA函数实现字典匹配词组并返回对应内容
Google Sheets 词组匹配与返回词聚合方案(LAMBDA+BYROW实现)
需求说明
- 遍历
Phrases!A2:A中的词组,使用REGEXMATCH匹配Dictionary!A2:A内的单词或语句片段(支持非完整匹配) - 匹配成功时,返回
Dictionary!B2:B中对应的“返回词”;多匹配结果用;分隔,单个结果直接返回 - 优先采用
LAMBDA系列函数(BYROW)实现,替代ARRAYFORMULA
实现公式
在Phrases工作表的B2单元格输入以下公式:
=BYROW(Phrases!A2:A, LAMBDA(phrase, IF(ISBLANK(phrase), "", TEXTJOIN("; ", TRUE, FILTER(Dictionary!B2:B, REGEXMATCH(phrase, Dictionary!A2:A))))))
公式解析
BYROW(Phrases!A2:A, LAMBDA(phrase, ...)):逐行处理Phrases!A2:A的每个词组,将当前词组绑定为变量phraseIF(ISBLANK(phrase), "", ...):跳过空行,避免生成无效的空结果TEXTJOIN("; ", TRUE, ...):将多个匹配到的返回词按;拼接,TRUE参数自动过滤空值,保证结果整洁FILTER(Dictionary!B2:B, REGEXMATCH(phrase, Dictionary!A2:A)):筛选出字典中能匹配当前词组的条目,返回对应的返回词列表
内容的提问来源于stack exchange,提问作者alsanmph
相关产品推荐
相关产品推荐

