日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言中lookup函数功能,Lookup函数详解

發布時間:2024/4/20 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言中lookup函数功能,Lookup函数详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文轉載自公眾號:Excel精英培訓,作者:趙志東老師,感謝趙老師無私分享!

蘭色以前發過好多關于lookup函數的應用的例子,它的強大功能令很我們眼花繚亂,但絕大部分用戶只停留在套用階段,至于運算原理卻沒幾個人能說明白。想了解lookup的查找原理和更深入的使用它,你必須了解今天要學習的二分法原理。

從一個例子說起:

【例】下圖中左表和右表只有第5行的會員名子不同,但在第11行查找B對應的消費金額時結果卻不同。甚至左表中查找到的是會員A的消費金額。

公式:

B11 =LOOKUP(A11,A2:B8)

E11 =LOOKUP(D11,D2:E8)

其實,lookup函數很清醒,一點都不傻,只是我們對它了解的太少了!

lookup函數查找是遵循二分法查找原理,所以要看懂上例中的查找結果,必須要了解什么是二分法查找。(二分法是excel中最難理解的函數知識點,建議同學們洗把臉清醒一下再向下看)

一、什么是二分法。

從前向后一個一個的查找,是遍歷法。二分法不是這樣,它是從二分位處查找,如果查找不到再從下一個二分位處查找,直到查找到和他大小相同或比它小的數。

二、基本原理。

想了解二分法,必須了解下面2個原理。

1、二分位的判定

說白了,二分位就是中間的位置,如果有7個數(lookup函數的第2個參數的總行數),那么第4個數就是中間的位置。

=LOOKUP(A11,A2:B8)

如果有10個數呢,則第5個位置是二分位。這里有一個公式可以計算出來。

=INT((總行數 1)/2)

2、查找方向確定

當在二分位查找不到時,接下來該怎么查找呢?

當上一次二分位值大于查找的值時,向上繼續查找,在二分位上面區域找出新的二分位,直到找出符合條件的值。如下圖中,先從第5行查,因為C>B,所以就向上繼續查,上面區域D2:D4區域的二分位值是D3,而D3的值是B,則對應的E列值800是是查找結果。

當數值小于查找的值時,向下繼續按二分法查。如下圖中,先查找第5行,發現AB,所以A7的A最終符合條件(查找到和目標值相等,或比目標值小的值)

當二分值等于查找的值時,向下逐個查,最后相鄰且相等的值即符合條件。

如下圖所示,在A5(第1個二分位)查找到了A,本來查找結果應該是B5的860,但由于A6的值也是A,所以查找結果變成了第6行的值。而A8雖然也是A,但和A5不是連續相等區域。所以結果不是B8。

三、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組值是從小到大排列,如果遇到小的就向下找更大的,如果遇到大的就向上找更小的。

總結

以上是生活随笔為你收集整理的c语言中lookup函数功能,Lookup函数详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。