LOOKUP函式的特性就是模糊查詢,匹配值就是小於或等於被查詢值的值。
在LOOKUP函式中,沒有”精確匹配“這一說法。
語法:
LOOKUP(lookup_value, lookup_vector, [result_vector])
翻譯:LOOKUP(查詢值, 查詢區域, [返回區域](可選))
原理:
LOOKUP函式採用“二分法”進行查詢,所以被查詢區域中值(包括數值,文字和邏輯值)必須按照升序排列,否則返回的結果不可預測。
最終在查詢區域中返回一個小於等於查詢值的數值。如果查詢區域的最小值也比查詢值大,那麼將返回“#N/A"錯誤值。
二分法查詢,有興趣的夥伴可以搜尋它的計算原理。在這裡,你只需要記住一點:被查詢區域資料要按升序排列。
應用場景:
最常規的應用就是用於判斷查詢值位於哪個數值區間,從而判斷查詢值的等級,分級等。
看下面的例子,透過LOOKUP函式判斷某一個分數的等級。
再次強調:
被查詢資料區域[等級臨界點]的資料必須升序排列。
相對VLOOKUP函式,LOOKUP函式更加靈活多變(VLOOKUP函式只能查詢指定資料區域的第一列,返回這個連續區域的第N列)。
除了上面的常規應用,還有一些經典應用,比如逆向查詢,多條件查詢等,稍複雜一些,但也是非常實用的用法。
LOOKUP函式的特性就是模糊查詢,匹配值就是小於或等於被查詢值的值。
在LOOKUP函式中,沒有”精確匹配“這一說法。
語法:
LOOKUP(lookup_value, lookup_vector, [result_vector])
翻譯:LOOKUP(查詢值, 查詢區域, [返回區域](可選))
原理:
LOOKUP函式採用“二分法”進行查詢,所以被查詢區域中值(包括數值,文字和邏輯值)必須按照升序排列,否則返回的結果不可預測。
最終在查詢區域中返回一個小於等於查詢值的數值。如果查詢區域的最小值也比查詢值大,那麼將返回“#N/A"錯誤值。
二分法查詢,有興趣的夥伴可以搜尋它的計算原理。在這裡,你只需要記住一點:被查詢區域資料要按升序排列。
應用場景:
最常規的應用就是用於判斷查詢值位於哪個數值區間,從而判斷查詢值的等級,分級等。
看下面的例子,透過LOOKUP函式判斷某一個分數的等級。
再次強調:
被查詢資料區域[等級臨界點]的資料必須升序排列。
相對VLOOKUP函式,LOOKUP函式更加靈活多變(VLOOKUP函式只能查詢指定資料區域的第一列,返回這個連續區域的第N列)。
除了上面的常規應用,還有一些經典應用,比如逆向查詢,多條件查詢等,稍複雜一些,但也是非常實用的用法。