龙空技术网

EXCEL探索二分法,偏门知识

学点EXCEL不加班 1077

前言:

此时你们对“二分法排序原理动画”可能比较关切,姐妹们都需要学习一些“二分法排序原理动画”的相关文章。那么小编也在网上网罗了一些关于“二分法排序原理动画””的相关文章,希望咱们能喜欢,咱们快快来学习一下吧!

来自Excel实务,作者白永乾

众所周知,VLOOKUP有两种用法:精确匹配和近似匹配(也称模糊匹配)。二者的查找方式不同,精确匹配采用遍历法进行查找,近似匹配采用二分法查找。

精确匹配较简单,会对数据源逐一匹配,找到为止。

近似匹配则要求数据源按升序排列,且会查找到与目标值相同或接近但较小的值,比如:

如果不按升序排列,会怎样呢?来看个例子吧,显然下图中VLOOKUP函数引用的数据源首列(B列)未按升序排,这时,查找数值“55”对应的编号时,会查找到“M”:

差很远是吧?怎么回事儿呢,这就要说说二分法了。

1二分法简介

使用了近似匹配,函数就会按二分法进行查找,所谓二分法,就是先查找二分位处,当不匹配的时候再进行下一个二分位查找,直到查找到目标数值为止。

2二分法的计算原理

看一下具体过程,就会了解二分法的计算原理了。

■ 第1次二分位

由于有20个数据,第1次二分位在第10个,查找到38,小于目标值55,再往下查找。

■ 第2次二分位

第2次二分法,后10个数据的二分位在第15位,查找到85,大于目标值55,再往上查找。

■ 第3次二分位

第3次二分位在第12个,查找到31,小于目标值55,再往下查找。

■ 第4次二分位

第4次二分位在第13个,查找到19,小于目标值55,再往下查找。

■ 第5次二分位

第5次二分位在第14个,查找到81,大于目标值55,返回上一次二分位结果。

知道了这个过程,就很好理解数据源为什么要按升序排列了。

3知识拓展

除了VLOOKUP和HLOOKUP函数,MATCH和LOOKUP也会用到二分法,原理相同。

二分法比遍历法复杂,但也有两个比较明显的优势:一是对大量数据进行查找时速度比遍历法要快不少,二是可以进行区域查找。

所以,千万不要因为复杂就讨厌它哟,需要的时候,人家也是个给力的好帮手呐~

标签: #二分法排序原理动画