學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 工具軟件 > 辦公軟件學(xué)習(xí) > Excel教程 > Excel函數(shù) > 折半查找法如何在Excel函數(shù)中的運(yùn)用

折半查找法如何在Excel函數(shù)中的運(yùn)用

時(shí)間: 錦暉1117 分享

折半查找法如何在Excel函數(shù)中的運(yùn)用

  排序與查找不管是在Excel領(lǐng)域,還是其他領(lǐng)域,學(xué)會(huì)了這個(gè)技能,我們做起事情來(lái)更加方便快捷,省去不少時(shí)間,效率倍增。以下是學(xué)習(xí)啦小編為您帶來(lái)的關(guān)于折半查找法在Excel函數(shù)中的運(yùn)用,希望對(duì)您有所幫助。

  折半查找法在Excel函數(shù)中的運(yùn)用

  折半查找

  又稱之為二分查找,它要求目標(biāo)數(shù)組中的數(shù)據(jù)是有序排列的。優(yōu)點(diǎn)是比較次數(shù)少,查找速度快,平均性能好,適用于不經(jīng)常變動(dòng)而查找頻繁的有序列表。下面先來(lái)看看下面的流程圖。

  為了便于大家理解,我作幾點(diǎn)說(shuō)明:

 ?、賹⑿枰檎业闹蹬c中間值(也叫做中位值)進(jìn)行對(duì)比;

  ②大于中位值時(shí),以中位作為邊界,繼續(xù)在其右側(cè)取新的中位值繼續(xù)對(duì)比;

 ?、坌∮谥形恢禃r(shí),以中位作為邊界,繼續(xù)在其左側(cè)取新的中位值繼續(xù)對(duì)比;

 ?、艿扔谥形恢禃r(shí),依次判斷其右側(cè)數(shù)值是否繼續(xù)相等,直到不相等時(shí)返回最后一個(gè)相等的數(shù)值;

 ?、莓?dāng)中位位置與邊界重疊時(shí),中止對(duì)比,此時(shí)如果查找值大于中位值,則返回中位值;如果查找值小于中位值,則返回中位左側(cè)數(shù)值。如果左側(cè)數(shù)值不存在,返回#N/A。

  流程圖大致的介紹就是如此,不知道我描述是不是清楚,這只是一個(gè)算法而已,不懂也不需要太過(guò)深入研究。當(dāng)數(shù)據(jù)個(gè)數(shù)為偶數(shù)時(shí),中位等于個(gè)數(shù)除以2;數(shù)據(jù)個(gè)數(shù)為奇數(shù)時(shí),中位等于<個(gè)數(shù)+1>除以2

  案例剖析

 ?、偃缦聢D所示,給出了一連串升序排列的數(shù)組,我們要找出33這個(gè)數(shù)。按照上面的介紹,我們知道中位值為24.

 ?、诘谝淮伪容^,因?yàn)?3>24,所以鎖定第二次查找范圍在中位值的后面,而不是前面,前面的數(shù)字都比24小,不可能找得到33.

 ?、鄣诙伪容^,中位值變?yōu)榱?1,33>31,繼續(xù)找后面的。

 ?、芤来晤愅?,直到找到數(shù)字或者整個(gè)數(shù)組被查找完畢,沒有找到則會(huì)返回#N/A

  現(xiàn)在或許大家還在疑問為什么要是一個(gè)有序的序列才可以進(jìn)行折半查找?下面這張圖,與之前的圖對(duì)比一下,你就知道了。

  Excel中也有類似的函數(shù),LOOKUP,我們要查找74,但是用LOOKUP函數(shù)計(jì)算出來(lái)的結(jié)果卻是49,下面就來(lái)分析一下。

 ?、俚谝淮伪容^74小于116,所以開始往前查找。

  ②中位值變?yōu)?0.74大于50,向后查找。

  ③74又大于47,依舊向后。

 ?、茏詈笾皇O乱粋€(gè)49了,這就是函數(shù)的返回值。

猜你喜歡:

1.excel如何使用條件統(tǒng)計(jì)函數(shù)

2.excel表格ADDRESS函數(shù)怎樣設(shè)置對(duì)某單元格引用

3.excel怎么使用條件統(tǒng)計(jì)函數(shù)COUNTIF

4.excel如何獲取單元格位置函數(shù)

5.excel如何利用函數(shù)公式提取數(shù)字

3730946