EXCEL通过单元格内的关键字vlookup函数的模糊匹配配?

20230613更新最近很多同学加我wx咨询,咨询的问题,大体总结来说,只有一点,那就是数组公式问题,很多不知道如何录入数组公式的,这里强调一下,我使用的是365函数,所以数组公式不用“三键录入”,如果大家是非常365版本请安传统“ESC”录入,我知道你们想问,如何三键?其实我已经被问几百次了…… 已崩溃我截取一下,我系列教程中的相关知识点,应该都能看懂吧,保姆级了,再看不懂……!20230216更新最近总有同学反馈WPS中无法使用,从测试来看,WPS对数据尤其复杂的数组嵌套支持有限,所以以下方法,不推荐在WPS使用!下面是正文内容最近,不止一个老铁后台问我,如何实现简称匹配全称的问题,其实也就是普遍的模糊匹配问题!今天就系统讲一下!20221127更新添加视频讲解Excelhttps://www.zhihu.com/video/1579995892735782912常见问题01
全称找简称=LOOKUP(1,0/FIND($D$2:$D$6,A2),$D$2:$D$6)思路说明:1、全称找简称的思路,其实也是把全部简称都在当前查找的全称中查找一遍,这个查找常用FIND函数处理,FIND(查什么,在哪里查)2、FIND的结果,如果找到返回对应简称在全称中的位置,否则返回错误值这种情况下,需要你有一定套路经验,基本考虑LOOKUP这个强大的查找函数!拓展阅读(点击阅读):FIND和SEARCH有什么区别?当MID遇上FIND会发生什么有趣的故事!函数
入门VLOOKUP,进阶用LOOKUP!LOOKUP常用套路-原理总结本文由“壹伴编辑器”提供技术支持常见问题02
简称找全称(相对匹配上)=VLOOKUP("*"&C2&"*",A:A,1,)简要说明:1、这个使用大家最熟悉的VLOOKUP即可解决,这里使用的就是模糊匹配,但是不是近似匹配额,不要混淆2、这里的星号(*),是通配符,表示任意0个或者多个字符!其中本质就是包含关键的意思了!拓展阅读(点击阅读):精通VLOOKUP函数吗?VLOOKUP1对多查找教程0基础之VLOOKUP入门教程VLOOKUP反向查询原理详解列数太多,不想输,VLOOKUP实战技巧!本文由“壹伴编辑器”提供技术支持上面的数据有的相对来说,还算是规则的,有包含的关系,如果简称过于奇葩,没有连续对应的,可能就不行了,但是也不是无解!常见问题03
相识度匹配▼看上去有点小复杂,但是乱序好用的很=INDIRECT("A"&RIGHT(MAX(MMULT(ISNUMBER(FIND(MID(C6,TRANSPOSE(ROW(INDIRECT("1:"&LEN(C6)))),1),$A$2:$A$6))*1,ROW(INDIRECT("1:"&LEN(C6)))^0)/1%%+ROW($A$2:$A$6)),3))公式比较复杂,大部分同学选择放弃,直接使用是明智的,如果你是函数爱好者,可以听听下面的解析,虽然看完也不一定保证全部懂,但是我尽力哈!公式解析:1、=MID(C2,TRANSPOSE(ROW(INDIRECT("1:"&LEN(C11)))),1)该部分是把我们关键词诸位拆开,为什么写这么复杂,而不是MID(C2,COLUMN(A1),1),右拉??因为我们要的是内存数组,方便我们下一步匹配!ROW(INDIRECT("1:"&LEN(C11))) 可以根据关键的长度,自动拆分,不会多出空格,这点在这里分重要,不能使用一般ROW(1:99)直接代替!否则空值查出来会增加权重,影响结果!2、FIND部分查找关键词中每个字在全称中是否出现,出现1,未出现03、MMULT部分MMULT矩阵相乘,就是把关键词的每个字在各个全称中出现的次数累加起来,比如这里的第15行,4个字都在其中出现,就是4,其他没有出现就是0这个案例中,没有交叉包含的,否则可能出现关键词的部分字在其他全称中也出现,这种情况下,我们要的就是出现次数最多的!4、出现次数最多的-MAX+权重我们想要4对应的行号,其实就是出现关键词最多的全称的行高,那么我们可以把这个最大值,整体扩大10000(/1%%)倍,不影响他们本身的比较,然后加上行高!这样我们取出最大值的同时,也有了行号,在尾部!5、使用RIGHT获取行号+INDIRECT获取单元格值OK!关于相识度匹配我们就拆解到这里,这种算法是单字的,实际文本的相识度算法,是非常复杂的!最近也做了一个全栈学习EXCEL的学习圈,感兴趣的可以了解一下如上已经讲解的非常详细,如还有不懂也可以卡片私聊}

我要回帖

更多关于 vlookup函数的模糊匹配 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信