Excel函數學習之LOOKUP函數的二分法原理
在之前的文章《Excel函數學習之LOOKUP函數的5種用法》,我們了解了LOOKUP函數的5種用法,估計有很多小夥伴都沒看懂,今天給大家細緻的講解LOOKUP的二分法原理,了解原理後,再回來去看昨天的教程,相信你會對LOOKUP有別樣的理解。
在先前的文章中,咱們學習了LOOKUP函數的各種套路,也多次提到了LOOKUP函數的查找是根據二分法來進行的,那麼到底什麼是二分法,今天就來聊聊這個問題。
還是用昨天的例子:依序號找出成績,序號是升序排列的,公式=LOOKUP(J2,A2:D19)的結果正確。
一、二分法查找原理
#二分法查找是把查找範圍中的資料依照個數一分為二找到位於中間位置的一個數據,中間值,然後用我們的查找值和中間值做比較。當中間值等於查找值時,直接去獲取結果;當中間值小於查找值時,則向下繼續進行二分法查找比較(也就是在不含中間值在內的下方的那一半數據中繼續進行二分法查找);當中間值大於查找值時,則向上繼續進行二分法查找比較(也就是在不含中間值在內的上方的那一半數據中繼續進行二分法查找)。如果如此二分到最後一個資料都找不到等於查找值的資料:最後一個資料小於查找值的,那就以最後一個資料的位置去取得結果值;最後一個資料大於查找值的,那就再向上找一個位置最靠近最後一個數據的小於或等於查找值的數據,再以這個數據的位置去取得結果。
就這樣解釋估計很多朋友都會犯迷糊,我們結合上面的例子,具體看看如何通過序號5,找到語文成績79的。
第一次比較:找出範圍A2~A19共18個數據,中間位置是18÷2=9,即中間值是A10單元格的9。顯然查找值5小於9,所以繼續向上在A2~A9中查找;
提示:如果查找範圍資料數是單數,中間位置就是(個數1)÷2,例如11行的話,中間位置就是(11 1)÷2=6;如果資料個數是偶數,中間位置就是(個數)÷2。
第二個比較:只有8個數據,中間位置是8÷2=4,中間值是A5單元格的4,查找值5大於4,所以繼續向下在A6~A9找。注意此時下面只有四個數,第一次查找時直接將9下面的資料都排除了。
第三次比較:4個數據,中間值是A7的6,找出值5小於6,所以往上找。此時只剩下一個資料A6單元格的5,與查找值一致,因此就得到5所對應的D列資料79。
只是透過這樣一個例子要明白二分法是很困難的,我們再看一個例子。將上表的資料依照成績降序排列,還是依序號5找出語文成績,公式不做修改。因為序號這一列的順序亂了,不是升序排列,結果就出現了錯誤,實際上是79,公式得到的是94,這是怎麼回事呢?還是透過二分法來看看吧。
第一次找到:中間值(第9個資料)是18,查找值5小於18,因此向上在A2~A9中找;
第二次查找:上面的8個數據,中間值(第4個數據)是8,查找值5小於8,繼續向上在A2~A4中找;
第三次找到:上面的3個數據,中間值是1,查找值5大於1,往下找:
第四次查找:現在只有A4單元格一個數據7,查找值5小於7,因此以7為參考,向上找一個位置最靠近7,同時數值小於5或等於5的數據,即A3單元格的1,由此獲得對應的語文值就是94。
透過這兩個例子,我想大家對於二分法應該有了一定的認識,關於這個原理,在函數說明裡只有一句話的介紹:
在實際應用中,我們可以不用去糾結二分法到底是怎麼回事,中間位置是什麼,該往下還是往上找,這都是函數的工作,我們只需要記住一點 :資料一定要升序排列,如果無法升序排列,那就依照LOOKUP的精確查找套路去設計公式。
二、LOOKUP實作資料的四捨五入
#二分法原理就介紹這麼多,接下來需要解決之前遺留的兩個問題。
在5月12日的文章中,我們用LOOKUP解決了一個四捨五入的問題,結果大家紛紛留言要個解釋:
那麼引起大家熱議的這個公式到底是什麼呢?看下圖:
原來這個公式是用LOOKUP函數將一個數字百位以下全部捨去,實現了百分位取整。
在了解二分法原則以後,是時候讓LOOKUP還大家一個解釋了。首先說明ROW(A:A)*100這部分。它其實就是得到了一組數字。為了讓大家看明白,把A:A範圍給小一點,我們用=ROW(A1:A31)*100作說明:
雖然單元格只能看到一個100,實際上是31個數字,我們可以用f9功能鍵來看看具體內容:
ROW函數用來取得單元格的行號, ROW(A1:A31)*100就是用A1到A31單元格的行號分別乘以100,得到一組百位取整的資料{100;200;300;……3000;3100}。
然後LOOKUP上場了。它要在上述得到的已經百位取整的數組中找出A1。因為陣列是按升序排列的,所以找出A1的實質就是在陣列中找小於等於A1的最大值。
以2517.32為例,只有2500是小於它的最大值,因此結果就是2500。有興趣的朋友可以自己用二分法原理去試試,看看對不對。
其他數字的尋找方式都是如此。這個公式之所以巧妙,就是把一個四捨五入的問題變成了查找引用的問題,真是妙!
三、LOOKUP進行資料擷取
#我們又利用LOOKUP進行資料的擷取,因此有了一個5000字的約會:
這次又是什麼問題呢?原題如圖所示提取學號:
咱們用上圖的第一個資料來解釋。在N1單元格中輸入“10張勇a”,然後在O1單元格中輸入公式=-LOOKUP(1,-LEFT(N1,ROW(1:9)))提取學號。
LOOKUP不是引用函數嗎,怎麼又可以擷取數字了?
LEFT函數的第二個參數使用了一個數組,ROW(1:9)相當於{1;2;3;4;5;6;7;8;9}。 LEFT是把第一參數指定的資料從左邊開始提取,提取的長度由第二參數來決定。 LEFT依照陣列{1;2;3;4;5;6;7;8;9}擷取,得到9個結果:
對於初學者來說,以上兩個案例中LOOKUP的用法過於高級,即便是透過這些介紹,估計也是一知半解,其實學習函數是有一個過程的,從不認識到了解,從了解再到掌握,這裡需要大量的練習和思考。只要大家保持積極樂觀的心態,能夠體會到學習函數的樂趣的時候,就離成功不遠了。
相關學習推薦:excel教學
以上是Excel函數學習之LOOKUP函數的二分法原理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

如果在開啟一份需要列印的文件時,在列印預覽裡我們會發現表格框線不知為何消失不見了,遇到這樣的情況,我們就要及時進行處理,如果你的列印文件裡也出現了此類的問題,那麼就和小編一起來學習下邊的課程吧:excel列印表格框線消失怎麼辦? 1.開啟一份需要列印的文件,如下圖所示。 2、選取所有需要的內容區域,如下圖所示。 3、按滑鼠右鍵,選擇「設定儲存格格式」選項,如下圖所示。 4、點選視窗上方的「邊框」選項,如下圖所示。 5、在左側的線條樣式中選擇細實線圖樣,如下圖所示。 6、選擇“外邊框”

在日常辦公中經常使用Excel來處理數據,時常遇到需要使用「篩選」功能。當我們在Excel中選擇執行「篩選」時,對於同一列而言,最多只能篩選兩個條件,那麼,你知道excel同時篩選3個以上關鍵字該怎麼操作嗎?接下來,就請小編為大家示範一次。第一種方法是將條件逐步加入篩選器。如果要同時篩選出三個符合條件的明細,首先需要逐步篩選出其中一個。開始時,可以先依照條件篩選出姓「王」的員工。然後按一下【確定】,接著在篩選結果中勾選【將目前所選內容新增至篩選器】。操作步驟如下圖所示。 同樣,再次分別執行篩選

在我們日常的工作學習中,從他人處拷貝了Excel文件,打開進行內容添加或重新編輯後,再保存的有時候,有時會提示出現兼容性檢查的對話框,非常的麻煩,不知道Excel軟體,可不可改為正常模式呢?那麼下面就由小編為大家帶來解決這個問題的詳細步驟,讓我們一起來學習吧。最後一定記得收藏保存。 1.開啟一個工作表,在工作表的名稱中顯示多出來一個相容模式,如圖所示。 2.在這個工作表中,進行了內容的修改後保存,結果總是彈出兼容檢查器的對話框,很麻煩看見這個頁面,如圖所示。 3、點選Office按鈕,點另存為,然

e我們常常會用excel來製作一些資料表之類的,有時在輸入參數數值時需要對某個數字進行上標或下標,例如數學公式就會常用到,那麼excel下標怎麼打出來呢?我們一起來看看詳細操作步驟:一、上標方法:1、先Excel中輸入a3(3為上標)。 2、選取數字“3”,右鍵選擇“設定儲存格格式”。 3、點選“上標”,然後“確定”即可。 4、看,效果就是這樣的。二、下標方法:1、與上標設定方法類似,在儲存格中輸入“ln310”(3為下標),選取數字“3”,並右鍵選擇“設定儲存格格式”。 2、勾選“下標”,點選“確定

在處理資料時,有時我們會遇到資料包含了倍數、溫度等等各種符號的時候,你知道excel上標應該如何設定嗎?我們在使用excel處理資料時,如果不會設定上標,這可是會讓我們的許多資料在輸入時就會比較麻煩。今天小編就為大家帶來了excel上標的具體設定方法。 1.首先,讓我們打開桌面上的MicrosoftOfficeExcel文檔,選擇需要修改為上標的文字,具體如圖所示。 2.然後,點擊右鍵,點擊後出現的選單中,選擇「設定儲存格格式」選項,具體如圖所示。 3.接下來,在系統自動彈出的「儲存格格式」對話框

大部分使用者使用Excel都是用來處理表格資料的,其實Excel還有vba程式編寫,這個除了專人士應該沒有多少使用者用過此功能,在vba編寫時常常會用到iif函數,它其實跟if函數的功能差不多,下面小編跟大家介紹下iif函數的用法。 Excel中SQL語句和VBA程式碼中都有iif函數。 iif函數和excel工作表中的IF函數用法相似,執行真假值判斷,根據邏輯計算的真假值,傳回不同結果。 IF函數用法是(條件,是,否)。 VBA中的IF語句和IIF函數,前者IF語句是控制語句可以依照條件執行不同的語句,後者

在軟體的學習中,我們習慣用excel,不僅是因為需要方便,更因為它可以滿足多種實際工作中需要的格式,而且excel運用起來非常的靈活,有種模式是方便閱讀的,今天帶給大家的就是:excel閱讀模式在哪裡設定。 1.開啟電腦,然後再開啟Excel應用,找到目標資料。 2.要想在Excel中,設定閱讀模式,有兩種方式。第一種:Excel中,有大量的便利處理方式,分佈在Excel中佈局中。在Excel的右下角,有設定閱讀模式的快捷方式,找到十字標誌的圖案,點擊即可進入閱讀模式,在十字標誌的右邊有一個小的三

1.開啟PPT,翻頁至需要插入excel圖示的頁面。點選插入選項卡。 2、點選【對象】。 3、跳出以下對話框。 4.點選【由檔案建立】,點選【瀏覽】。 5、選擇需要插入的excel表格。 6.點選確定後跳出如下頁面。 7.勾選【顯示為圖示】。 8.點選確定即可。
