大多數時候我們都需要進行精確查詢,但也會遇到需要模糊查詢的時候。譬如根據簡稱查詢全稱,譬如根據數值劃分等級等。模糊查詢不等於瞎子摸象,這裡分享4種用VLOOKUP和LOOKUP函數進行模糊查詢的方法。
今天來跟大家分享模糊查詢的幾種方法。
常規的模糊查詢分為兩種情況,一種是數值;一種是文字。
首先我們分享關於數值的模糊查詢。
舉例:
某公司需要為新員工客製化工作服,現在需要根據員工的實際身高匹配需要客製化衣服的尺碼。
這種情況就需要通過模糊查詢來返回每個員工身高所對應的尺寸。有兩種方法來完成。
方法一:LOOKUP
函數公式:=LOOKUP(B2,{0;165;170;175;180;185;190},{"S";"M";"L";"XL";"XXL";"XXXL";"XXXXL"})
公式解析:
這是通過LOOKUP向量形式來完成模糊查詢。可以理解為查詢B2單元格處於{0;165;170;175;180;185;190}哪個區間,如果在某個區間內就返回對應{"S";"M";"L";"XL";"XXL";"XXXL";"XXXXL"}的文字資訊。
譬如169位於165-170之間,那麼就返回「M」文字資訊。
這裡的區間對應關係如下。0到小於165的屬於S尺寸;165到小於170的屬於M尺寸,依次類推,直到大於等於190的屬於XXXXL尺寸。
如果對此處看不懂的可以檢視教學《》的第四節「按區間查詢的套路」。
方法二:VLOOKUP
函數公式:=IFERROR(VLOOKUP(B2+5,F:G,2,1),"S")
日常工作中我們使用VLOOKUP函數時第四個引數都是輸入0,表示精確查詢,此處第四引數為1,表示近似查詢。
公式解析:
1.通過函數公式=VLOOKUP(B2,F:G,2,1)即可返回目標區域中小於等於查詢值的最大值所對應的尺碼。注意:在使用VLOOKUP函數進行模糊查詢之前必須要將查詢範圍F:G處的資料按查詢內容(此處為身高)進行升序排序。
例如,我們查詢172,那麼就返回目標區域中小於等於172的最大值即170,對應的尺碼為M。由於服裝的尺寸是就高不就低,身高172的員工必須客製化身高175的L碼的衣服,所以我們在查詢匹配時需要在員工身高基礎上加5,這樣就能返回大於身高的最小尺寸了。
2.員工中有部分身高即使加5後仍小於165,因為F列165就是最小的了,所以這部分資料無法在F列查詢到所需值,VLOOKUP函數返回錯誤值#N/A。我們希望小於165的員工都客製化S號,就通過IFERROR函數將VLOOKUP錯誤結果重定向為文字字元「S」。
下面分享文字的模糊查詢,例如,通過查詢AB返回查詢區域中包含AB的AAAABBB單元格所對應的值。
舉例:
下表為各公司2018年度營業額資料,公司名稱為全稱。現在我們在另外一個表中需要根據公司簡稱來匹配相關的營業額資料。
方法一:VLOOKUP+萬用字元
函數公式:=VLOOKUP("*"&E2&"*",A:B,2,0)
公式解釋:
*代表所有字元,"*"&E2&"*"則表示包含E2單元格文字內容的所有內容。
方法二:LOOKUP+FIND
函數公式:=LOOKUP(1,0/FIND(E2,A$2:A$8),B$2:B$8)
公式解釋:
公式用了LOOKUP查詢套路。通過FIND函數判斷E2單元格中文字處於A$2:A$8單元格中的位置,如果存在則返回大於0的數值,否則返回錯誤值;然後0/FIND(),則得到一組0和錯誤值的陣列;最後LOOKUP函數出手,在陣列中找到最大的不大於1的值,0,並根據0所在位置,返回對應的B$2:B$8中的值。
順便說一嘴:如果你只想通過簡稱查到全稱,則公式可以改成=LOOKUP(1,0/FIND(E2,A$2:A$8),
A$2:A$8)
。
看不懂的可以看教學《》的第二節「精確查詢的套路」
相關學習推薦:
以上就是【整理分享】用VLOOKUP和LOOKUP函數進行模糊查詢的4種方法的詳細內容,更多請關注TW511.COM其它相關文章!