Excel表格中,二分法查询是一个比较混乱的概念,很多人无法理解什么是二分法查询,尤其是听到二分法与二进制是相关联的时候。
(资料图)
但其实并没有那么复杂,excel二分法查询是比较常见的一个查询方式,在xlookup函数中则称为二分搜索,它属于xlookup函数的第6参数值选项。
那么二分搜索的执行逻辑是怎样的?为什么要使用二分搜索?
接下来我们看一个数据表,它是ERP系统导出来的货物信息,从下图表可见它包含了14511行数据,这个行数在excel中,算是一般的数据量,当然,目前excel的算力计算一万多行数据还是比较轻松的。
但如果数据量更大,达到6位甚至7位行数级,尤其是行数据包含的内容和格式较多,这时在进行Excel操作时就会发现卡顿、卡死等问题。
如果要使用公式查询某个数据,此时因为系统算力全力运行,而电脑和软件无法支撑大量数据的查询运算,最后导致电脑或软件崩溃!
所以如何减轻系统的算力,则是处理大量数据时的一个途径。
而二分搜索就属于减轻系统算力的一种查询途径。
如下图所示,作者查询A2-A14511单元格的中位值为中位单元格A7255的值20206574,它与查找值20207021比较,查找值要大于中位值,因此向下继续查询!
这一步其实我们就能发现,通过二分查询,它将数据列分成了两半,将本来是14511行的数据,实际只继续查询其下半部分7255行数据,省略了一半的查询量!这样一来,就相当于节省了系统算力。
接下来,我们继续查询A7255-A14511单元格区域的中位值,为10883行的20256616,它与查找值比较,查找值大于中位值,因此需要向上进行查询。
那么向上查询到哪里?
直到7255行,也就是前一个中位值的位置A7255,这时再查询7255-10883之间的中位值,并与查找值比较,根据其结果进行向下或向上查询。
通过这样的查询和比较规则,并循环执行,使得系统进行查询的区域越来越小,而减少了系统算力。
这就是二分法查询的特点和逻辑!
通过这个示例,我们有两点需要清楚,第一点是xlookup函数设置搜索模式参数时,要切记与数据列的排序方式进行匹配;第二点是记住二分搜索逻辑是查询--比较--再查询。
Copyright ? 2015-2023 华夏粮油网版权所有 备案号:琼ICP备2022009675号-37 联系邮箱:435 227 67@qq.com