首頁 > 軟體

使用lookup函數進行模糊查詢的範例教學

2020-07-14 14:34:19

昨天有同學問了一個模糊查詢的問題,用vlookup無法實現,只能把lookup函數搬了出來。

例1:如下圖所示表1為省市的提成表,表2的A列是詳細地址,要求根據省市關鍵字從表1中查詢相對應的提成。

公式:B10=LOOKUP(9^9,FIND(A$3:A$6,A10),B$3:B$6)

公式說明:

FIND():用FIND查詢當前地址中是否包括表1的省市。查詢成功返回數位;查詢不到返回錯誤值#VALUE!

9^9:一個足夠大的數位。

lookup() : 忽略錯誤值,查詢比9^9小且最接近的數位的位置,並返回B列對應的提成。

例2:如下圖所示表1是公司的全稱。要求在表2中根據公司的簡稱查詢相對應的B列的應付賬款。

公式:B10=LOOKUP(9^9,FIND(A10,A$3:A$6),B$3:B$6)

公式說明:和例1相同,略。

Lookup函數在查詢資料方面幾乎無所不能,再看3個應用

例3:查詢最後一條符合條件的記錄。

例4:多條件查詢

例5:指定區域最後一個非空值查詢

連提取數位也離不開lookup函數

例6:數位在開頭

A1的值為 123.45ABC

公式:

=LOOKUP(9^9,LEFT(B1,ROW(1:9))*1)

擷取結果:123.45

例7:數位在結尾

A1的值為 ABC123.45

公式: =LOOKUP(9^9,RIGHT(B1,ROW(1:9))*1)

擷取結果:123.45

例8:數位在任意位置

A1的值為 ABC123.45FE

陣列公式:{=LOOKUP(9^9,MID(A1,MATCH(1,MID(A1,ROW(1:9),1)^0,0),ROW(1:9))*1)}

擷取結果:123.45

補充:lookup函數的應用遠不止這些,在excel函數中它能實現的查詢遠遠超過vlookup函數。


IT145.com E-mail:sddin#qq.com