lucene 按照匹配度排序_VLOOKUP教程(连载3)——模糊匹配和精确匹配是什么意思原来一直都弄错了...

一、模糊匹配还是部分匹配

通过两个示例来说明部分匹配和模糊匹配是什么意思。
示例1.按照简称匹配全称所对应的业务人员姓名,可以使用公式=VLOOKUP("*"&D2&"*",A:B,2,0)完成,如图所示。

daeaac03211b848920f819df1553514c.png

在第一参数D2的两边连接了通配符,表示从A列找到包含D2内容的数据后,返回B列对应的姓名。查找内容必须是连续的字符,如果是间断的则无法返回正确结果,例如D8单元格中的数据就不能得到正确结果。

示例2.根据销售额确定业务员的等级,一共分为五个等级,使用IF函数完成等级的确定会比较繁琐,可以使用公式=VLOOKUP(N3,$J$3:$K$7,2,1)来确定等级,如图所示。

8b4806498eee1b57a405bd199eefd191.png

在这个公式中,第四参数用了1,也就是模糊匹配。需要注意的是,公式中的范围是以J列(分级下限)为首列的,并且下限值按升序排列。查找值N列(销售额)中的每个值都不在查找区域的首列,但是却能得到正确的结果,这种查找方式就是模糊匹配。

提示:通过这两个例子理解部分匹配和模糊匹配的区别,以及这两种匹配方式的要点。

1.部分匹配使用的精确匹配方式,查找值两边连接通配符,并且查找值必须是连续存在的字符;

2.模糊匹配必须保证查找区域首列是升序排列,如果涉及到数字区间则以数字区间的下限作为首列内容。

二、模糊匹配原来是这个意思

要了解模糊匹配和精确匹配的区别,就要知道数据匹配的两种计算原理:遍历法与二分法。

精确匹配使用的是遍历法原理,对数据源的顺序没有要求,会从数据源的第一个值开始与查找值进行比较,如果不同则继续向下,直到发现一致的数据,则返回所需的结果,查找任务结束,其原理如图所示。

黑色箭头为第一轮的查找过程,橙色箭头为第二轮的查找过程,每个姓名都要从头找一遍。

78f9633b087ec2b461a6cc475a053141.png

遍历法的准确性无疑是很高的,但是查找效率相对较低,当数据量比较多的时候运算就会比较费时间。

模糊匹配使用的是二分法原理,二分法原理很重要的一点是默认数据源升序排列,默认的意思就是不管数据实际是以何种方式排列,都会认为是升序的。每次会和数据源中间位置的数据比较大小,如果查找值较大,则向下继续找中间位置的数据去比较,直到找到目标值,反之则向上查找,对于非数字内容的大小,可以参考升序排序的排列去判断。

在按照销售额确定等级的时候,就用到了模糊匹配,如图所示。

88b9aa4d46d8d40d26b1dccabffad0a6.png

以7633这个数字为例,查找范围中共有五个值,中间位置(第三个值)是7000,7633大于7000,所以向下查找,这样一次就排除了一半的数据。

当数据为偶数时,中间位置为数据个数/2,7000下面只有两个数,因此和第一个数(9000)进行比较,7633小于9000,最终结果就是9000上面一行的值对应的等级。

如果数据不是升序排序,那么结果很有可能都是错误的,如图所示。

a126b22d97136be26d72a08eb6a7fad8.png

同样的公式,只是数据源排序方式不同,结果完全变样了。还是以7633为例,首先和7000比较,向下找,比5000大,则得到5000下面一行的数据。

由此可知,模糊匹配的本质并不是比较数据是否一致,而是按照数据之间的大小关系进行判断,每一次都是和中间位置的数据进行比较,这样一次就能排除一半的数据。假如有1000个数据需要比较,使用精确匹配就需要比较1000次,而模糊匹配只需要比较10次(2的10次方=1024)。

提示:对于二分法原理不必深究,理解要点即可。

1.数据源要求升序排列;

2.查找速度高于精确匹配;

3.进行多重判断时可以取代IF函数的嵌套。

本文节选自《菜鸟的Excel函数修炼手册》,本书已在京东和天猫开始预售,凡预定的读者都可以联系老菜鸟领取福利。

7540caac9d0d817c11708fd7321d02ec.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值