什么是二分法介绍(二分法是什么意思)

抒情君 20

来自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也会用到二分法,原理相同。

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

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

上一篇:

下一篇:

  推荐阅读

分享