Office 2021 Excel中基于关键词匹配的句子分类公式求助
Excel 2021 按关键词给句子分类的解决办法
你的原公式为啥不行?
你之前的公式有几个逻辑问题:
FIND([keywords])漏了要查找的目标文本,FIND的正确用法是FIND(关键词, 要查的句子)SUM(IFERROR(FIND(...),0))>4这个逻辑不对,SUM出来的是所有关键词查找位置的总和,和关键词数量4比没有意义,我们要判断的是有没有任意一个关键词被找到,而不是总和大小
推荐解决方法(三种可选)
方法1:动态数组公式(一键批量填充,推荐)
假设你的关键词和对应类别是这样的结构:
- 关键词区域:比如
$B$2:$B$3(存cat、dog) - 对应类别区域:
$C$2:$C$3(都填Animal) - 待分类的句子在
G2(要在H2输出类别)
在H2输入下面的公式,回车后会自动填充整列:
=XLOOKUP(TRUE,ISNUMBER(SEARCH($B$2:$B$3,G2)),$C$2:$C$3,"无匹配类别")
公式说明:
SEARCH($B$2:$B$3,G2):挨个在G2的句子里找关键词,找到就返回位置,找不到返回错误(SEARCH不区分大小写,要区分的话换成FIND)ISNUMBER(...):把找到的位置转成TRUE,错误转成FALSEXLOOKUP会找到第一个TRUE对应的类别,没匹配到就返回“无匹配类别”
方法2:手动下拉填充的公式
如果习惯手动下拉填充,用这个公式:
=IF(SUMPRODUCT(--ISNUMBER(SEARCH($B$2:$B$3,G2)))>0,"Animal","无匹配类别")
公式说明:
--ISNUMBER(...):把“找到/没找到”的布尔值转成1或0SUMPRODUCT把这些1和0加起来,只要有一个关键词找到,总和就大于0,返回Animal,否则返回默认值
方法3:多类别扩展(如果有多个分类)
要是你还有其他分类,比如“apple”“banana”归为“Fruit”,可以把关键词和类别做成两列的对照表(比如B列存所有关键词,C列存对应类别),然后把公式改成:
=XLOOKUP(TRUE,ISNUMBER(SEARCH($B$2:$B$5,G2)),$C$2:$C$5,"无匹配类别")
(把$B$2:$B$5和$C$2:$C$5换成你实际的对照表区域就行)
内容的提问来源于stack exchange,提问作者Johnny Zhao
相关产品推荐
相关产品推荐

