Excel多关键词匹配分类:如何为INDEX/MATCH公式添加OR逻辑
Excel多关键词匹配分类公式调整方案
一、多个关键词放在同一单元格(用分隔符)
如果想让一个分类对应多个关键词,且把这些关键词用逗号、竖线这类分隔符塞在同一个单元格里,可以修改公式如下:=INDEX(picklist!$I$6:$I$15,MATCH(TRUE,BYROW(picklist!$J$6:$J$14,LAMBDA(x,OR(ISNUMBER(SEARCH(TEXTSPLIT(x,","),K3))))),0))
逻辑说明
TEXTSPLIT(x,",")会把J列单元格里的多关键词按逗号拆分成独立的关键词列表;OR(ISNUMBER(SEARCH(...)))判断待搜索单元格K3是否包含拆分后的任一关键词;BYROW遍历J列的每个关键词组,返回每行的匹配结果(TRUE/FALSE);- 最后用
MATCH+INDEX找到第一个匹配的分类并返回。
提示:如果用的是其他分隔符(比如|或空格),把TEXTSPLIT(x,",")里的逗号换成对应的分隔符即可。
二、多个关键词放在不同单元格(同一分类对应多行)
如果不想把关键词挤在一个单元格,可将同一分类的不同关键词分别放在J列的不同行,对应I列的分类保持一致。比如:
- picklist!I6 = "分类A",picklist!J6 = "关键词1"
- picklist!I7 = "分类A",picklist!J7 = "关键词2"
- picklist!I8 = "分类A",picklist!J8 = "关键词3"
这种情况下原公式无需修改,直接使用即可:=INDEX(picklist!$I$6:$I$15,MATCH(TRUE;ISNUMBER(SEARCH(picklist!$J$6:$J$14;K3));0))
原公式会自动匹配第一个符合条件的关键词对应的分类,只要任一关键词存在,就能返回正确分类。
通用注意事项
- 若使用的是Excel 365/2021版本,直接回车即可生效;旧版Excel需要按
Ctrl+Shift+Enter作为数组公式确认。 - 默认
SEARCH不区分大小写,若需要区分,替换成FIND函数即可。
内容的提问来源于stack exchange,提问作者Diles
相关产品推荐
相关产品推荐

