您現在的位置是:首頁 > 綜合

EXCEL表格LOOKUP的查詢原理

  • 由 易庫資源 發表于 綜合
  • 2021-06-07
簡介2、lookup提取數字大家理解了上面的原理以後,那就可以想通為什麼拿1作為查詢值,在一個由0,負陣列成的陣列中,總能返回最後一個數字了吧

二分位什麼意思

上節我們講了LOOKUP,但是很多人只停留在套用語法階段,想要真正靈活的應用lookup公式,我們必須要了解他的查詢原理,二分法查詢。

1、二分法的概念

相對遍歷法(按照順序從前往後找),二分法是從中位值(中間位置,也叫二分位處)開始查詢,如果查詢不到,再從下一個中位值處開始查詢,直到找到目標值或者是比目標值小但最接近目標值的值。

我們透過一個例子來說明原理:

EXCEL表格LOOKUP的查詢原理

1、先找到第一個中位值處,比如上圖,查詢範圍一共11個數字,那中位值就是第6位;(

中位值的計算,int((行數+1)/2)

2、若查詢值大於該中位值(說明查詢值在下方區域,因查詢範圍是按照升序排列的),那就向下找下個區域的二分位處繼續查詢;

3、若查詢值小於中位值,那就找上方區域的二分位處再繼續查詢;

4、當二分位處的值等於查詢值時,向下逐個查,最後相鄰也相等的值即符合條件。

如本例,查詢值為005,第一次查詢第一個二分位處的值為006,查詢值小於006,說明005在上方區域,上方五個數字,所以中位值處為第三個位置。正好第三個位置005與查詢值一致,所以逐個向下查,最後找到與005相鄰的最後一個一個005。

2、lookup提取數字

大家理解了上面的原理以後,那就可以想通為什麼拿1作為查詢值,在一個由0,負陣列成的陣列中,總能返回最後一個數字了吧!

下面我們看看兩個套路:

數字在前面如何提取:

EXCEL表格LOOKUP的查詢原理

用left提取後加負號,文字計算後會返回錯誤值,數字前面加負號。忽略錯誤值,相當於返回了一個由負陣列成的陣列,比如E1中返回{-4,-45},用1作為查詢值就回返回-45,然後加負號,就變成了45。

看了上面的例子,大家肯定會頓悟,數字在後面也可以用這個套路呀!

EXCEL表格LOOKUP的查詢原理

這個就不作說明了,跟上面一樣的道理,大家仔細體會。

若是數字在中間呢?大家可以思考下!

轉自:米宏Office

Top