今天主题:多关键词提取!单个条件,大家都都很熟悉了,VLOOKUP或者INDEX+MATCH的套路 如果有多个关键词我们要如何处理呢?比如只要包括一系列关键词中的一个就提取出来。 还是先来看看简单吧,不然上来就函数,估计小白就吓跑了! 想要表示包括关系,我们只需要在关键词左右两边添加上星号【*】即可!使用高级筛选这个技巧来处理,胜在简单,但是也有问题就是数据变动都要重新筛选!那么有没有自动更新的方法,有!这里是包括,那么最先想到的方式应该就是查找类,比如FIND或者SEARCH!
=IFERROR(INDEX($A$1:$E$17,SMALL(IF(MMULT(IFERROR(FIND({'瓜','果','子'},$B$2:$B$17),),{1;1;1}),ROW($B$2:$B$17)),ROW(A1)),COLUMN(A1)),'') 我们用这三个关键词去每一个名称中查找,结果无法包含(返回在名称中的位置)和不包含(返回错误值)下一步,我们把错误值转成0,然后求一下每一行的三个关键词的合计,如果不等于0,说明包括,返回行号,配合INDEX提取即可!
▼FITLER的出现,改变了我们的“万金油”老套路=FILTER($A$2:$E$17,MMULT(IFERROR(FIND({'瓜','果','子'},$B$2:$B$17),),{1;1;1})) 使用VBA考虑使用Instr这个函数来处理会简单很多,这里就不再啰嗦!感兴趣的可以尝试一下!在Power Query中可以尝试使用我们前两天分享的 Text.PositionOfAny 这个函数,全部查找不到会返回-1,根据这个判断即可实现!
|