-
lookup函數(shù)強大功能令我們眼花繚亂,大部分用戶只停留在套用階段,至于運算原理卻沒幾個人能說明白。想了解lookup的查找原理和更深入的使用它,你必須了解今天要學(xué)習(xí)的二分法原理。
從一個例子說起:
【例】下圖中左表和右表只有第5行的會員名子不同,但在第11行查找B對應(yīng)的消費金額時結(jié)果卻不同。甚至左表中查找到的是會員A的消費金額。
公式:
B11 =LOOKUP(A11,A2:B8)
E11 =LOOKUP(D11,D2:E8)
其實,lookup函數(shù)很清醒,一點都不傻,只是我們對它了解的太少了!
lookup函數(shù)查找是遵循二分法查找原理,所以要看懂上例中的查找結(jié)果,必須要了解什么是二分法查找。
一、什么是二分法
從前向后一個一個的查找,是遍歷法。二分法不是這樣,它是從二分位處查找,如果查找不到再從下一個二分位處查找,直到查找到和他大小相同或比它小的數(shù)。
二、基本原理
想了解二分法,必須了解下面2個原理。
1、二分位的判定
說白了,二分位就是中間的位置,如果有7個數(shù)(lookup函數(shù)的第2個參數(shù)的總行數(shù)),那么第4個數(shù)就是中間的位置。
=LOOKUP(A11,A2:B8)
如果有10個數(shù)呢,則第5個位置是二分位。這里有一個公式可以計算出來。
=INT((總行數(shù)+1)/2)
2、查找方向確定
當(dāng)在二分位查找不到時,接下來該怎么查找呢?
當(dāng)上一次二分位值大于查找的值時,向上繼續(xù)查找,在二分位上面區(qū)域找出新的二分位,直到找出符合條件的值。如下圖中,先從第5行查,因為C>B,所以就向上繼續(xù)查,上面區(qū)域D2:D4區(qū)域的二分位值是D3,而D3的值是B,則對應(yīng)的E列值800是是查找結(jié)果。
當(dāng)數(shù)值小于查找的值時,向下繼續(xù)按二分法查。如下圖中,先查找第5行,發(fā)現(xiàn)AB,所以A7的A最終符合條件(查找到和目標(biāo)值相等,或比目標(biāo)值小的值)
當(dāng)二分值等于查找的值時,向下逐個查,最后相鄰且相等的值即符合條件。
如下圖所示,在A5(第1個二分位)查找到了A,本來查找結(jié)果應(yīng)該是B5的860,但由于A6的值也是A,所以查找結(jié)果變成了第6行的值。而A8雖然也是A,但和A5不是連續(xù)相等區(qū)域。所以結(jié)果不是B8。
三、lookup示例解析
1、區(qū)間查找。
【例1】如下圖所示,是典型的區(qū)間查找公式。查找350對應(yīng)的提成比率是7%。
查找過徎:
從第1個二分位處(A4)處開始查找,200<350,向下查找。
在第2個二分位處(A6)的值400>350,所以要向上查,上面只有A5一個值300,且該值小于350,所以B5的值即為最終查找結(jié)果。
2、查找最后一個。
【例2】如下圖所示,查找顧客A最后一次的消費金額。
分析:
這里肯定不能直接用Lookup查找B,否則按二分位查找,結(jié)果不一定是最后一個。所以就用0除的方法把符合條件的變成0,不符合條變成錯誤值:
=0/(A2:A8=A11)
結(jié)果是
{0;0;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!}
由于lookup會過濾掉錯誤值,所以在lookup眼中,上面的數(shù)組是這樣的:
{0;0;0}
然后用1查找最后一個0的位置
=Lookup(1,0/(A2:A8=A11),B2:B8)
這里1是任一個大于0的值,因為大于0,所以用二分法查找時,會一直向下查找,直到最后一個0值。
提醒:lookup的二分法查找,是跳躍式的查找。它總認(rèn)為被查找的1組值是從小到大排列,如果遇到小的就向下找更大的,如果遇到大的就向上找更小的。
- 上一篇:固定資產(chǎn)加速折舊的條件和方法是什么
- 下一篇:Excel萬分號符號怎么打
-
excel中查找函數(shù)匯總
跨多個文件查找,估計你搜遍網(wǎng)絡(luò)也找不到,這也是蘭色首次編寫跨多文件查找公式。其實原理和跨多表查找一樣,也是借助lookup等函數(shù)實現(xiàn)。找對比,你會首先想到Vlookup函數(shù)。但在E
-
錯賬如何查找和更正
錯賬如何查找和更正,數(shù)豆子為大家整理相關(guān)資料。錯賬如何查找和更正?1、錯賬查找(1)重記或漏記賬戶查找。就是在登記賬簿時,將記賬憑證的雙方重記或漏記,或者只登記一方,重記或只記另
-
怎么查找會計核算中的錯誤
怎么查找會計核算中的錯誤,以下是數(shù)豆子整理的內(nèi)容。怎么查找會計核算中的錯誤(1)順查法(亦稱正查法)。順查法是按照賬務(wù)處理的順序,從原始憑證、賬簿、編制會計報表全部過程進行查找的
-
錯賬查找的方法
錯賬查找的方法,財務(wù)人員經(jīng)常會遇到此類問題,下面由數(shù)豆子為大家整理相關(guān)內(nèi)容,一起來看看吧。在對賬過程中,可能發(fā)生各種各樣的差錯。產(chǎn)生差錯的原因可能是重記、漏記、數(shù)字顛倒、數(shù)字
-
查找個稅申報系統(tǒng)歷史申報明細
查找個稅申報系統(tǒng)歷史申報明細,經(jīng)常有小伙伴遇到這個問題,下面由數(shù)豆子為大家整理相關(guān)內(nèi)容,一起來看看吧。答:1、登錄地稅或國稅網(wǎng)站,如果企業(yè)是在地稅交個人所得稅就登錄地稅網(wǎng)站,
-
日常會計核算中怎樣查找錯誤
日常會計核算中怎樣查找錯誤,在會計行業(yè)經(jīng)常會遇到此類問題,下面由數(shù)豆子為大家整理相關(guān)內(nèi)容,一起來看看吧。在日常的會計核算中,發(fā)生差錯的現(xiàn)象時有發(fā)生。如果發(fā)現(xiàn)錯誤:一是要確認(rèn)錯
-
如何通過科目余額表查找錯誤
如何通過科目余額表查找錯誤,最近很多小伙伴關(guān)注這個問題,下面由數(shù)豆子為大家整理相關(guān)內(nèi)容,一起來看看吧。一、科目余額匯總表亦稱“總賬余額匯總表”,它是按照總賬科目余額編制的。遵
-
查找錯賬的除九法如何理解
查找錯賬的除九法如何理解,遇到這個問題不要怕,數(shù)豆子整理了與錯賬相關(guān)的內(nèi)容,看完一定可以解決。這種情況除以上共同特點外還有其固有的特點,就是錯賬差數(shù)用九除得的商是錯數(shù)前后兩數(shù)
-
怎么查找會計核算中的錯誤
怎么查找會計核算中的錯誤,如果不太了解沒有關(guān)系,本文數(shù)豆子搜集整理了相關(guān)信息,請大家參考。查找錯誤的方法有很多,現(xiàn)將常用的幾種方法介紹如下:一、順查法(亦稱正查法)。順查法
-
怎樣查找錯賬
怎樣查找錯賬,如果不太了解沒有關(guān)系,本文數(shù)豆子搜集整理了相關(guān)信息,請大家參考。在日常的會計核算中,發(fā)生差錯的現(xiàn)象時有發(fā)生。如果發(fā)現(xiàn)錯誤:一是要確認(rèn)錯誤的金額;二是要確認(rèn)錯在