寵物集市-寵物集市華東、華南、華北排行榜一覽表
952
2025-03-31
想全面了解Lookup函數,必須要懂二分法
當你懂了lookup的查找原理,才能更好的使用它。二分法原理,一起學習一下。
從一個例子說起:
【例】下圖中兩個表只有第5行的會員名字有差異,在查找B的消費金額時,顯示結果卻不同,而左邊直接出現A的消費金額。
公式展示:
B11 =LOOKUP(A11,A2:B8)
E11 =LOOKUP(D11,D2:E8)
當你懂了二分法,就能了解為什么會出現上述結果。
一、什么是二分法。
一個一個依次進行查找,是遍歷法。二分法與之不同,顧名思義,從二分位處進行查找,若找不到再從下一個二分位處查找,直到查找到和他大小相同或比它小的數。
二、基本原理。
共2個原理。
1、二分位的判定
當總數字是奇數時,二分位很好判定,中間的數字即可。如有7個數(也就是該函數的第二個參數),則第4個數就是中間的數。
=LOOKUP(A11,A2:B8)
如果有12個數呢,則第6個位置是二分位。有一個公式可以計算。
=INT((總行數+1)/2)
2、查找方向確定
當在二分位查找不到時,接下來該怎么操作呢?
如果上一次二分位值大于查找的值時,則向上接著查找,找出新的二分位,直到找出對應的值。如下圖。
同理,如果數值小于查找的值時,向下繼續查找。
如果二分值等于查找的值,向下逐個查,直到相鄰且相等的值即符合條件。
三、lookup示例解析
1、區間查找。
【例1】如下圖,是常見的區間查找公式。查找350對應的提成比率是7%。
過徎展示:
第一步:從第1個二分位處(對應A4)處開始查找,200<350,則向下查找。
第二步:在第2個二分位處(對應A6)的值400>350,則要向上查,只有A5一個值300,因該值小于350,所以B5即為最終查找結果。
2、查找最后一個。
【例2】如下圖,查找A最后一次的消費金額。
分析:
這里肯定不能直接用Lookup查找B,否則按二分位查找,結果不一定是最后一個。所以就用0除的方法把符合條件的變成0,不符合條變成錯誤值:
=0/(A2:A8=A11)
結果是
{0;0;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!}
由于lookup會過濾掉錯誤值,所以在lookup眼中,上面的數組是這樣的:
{0;0;0}
然后用1查找最后一個0的位置
=Lookup(1,0/(A2:A8=A11),B2:B8)
這里1是任一個大于0的值,因為大于0,所以用二分法查找時,會一直向下查找,直到最后一個0值。
lookup的二分法查找,是跳躍式的查找。它總認為被查找的1組值是從小到大排列,如果遇到小的就向下找更大的,如果遇到大的就向上找更小的。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。