2021-05-12 14:32:11
使用lookup函數進行模糊查詢的範例教學
昨天有同學問了一個模糊查詢的問題,用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函數。
相關文章