excel函數技巧:什麼是模糊查找,如何操作?

編按:大多數時候我們都需要進行精確查找,但也會遇到需要模糊查找的時候。譬如根據簡稱查找全稱,譬如根據數值劃分等級等。模糊查找不等於瞎子摸象,這裡分享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)。

****部落窩教育-excel模糊查找技巧****

原創:龔春光/部落窩教育(未經同意,請勿轉載)

更多教程:部落窩教育(itblw.com

微信公眾號:exceljiaocheng

推薦閱讀:

TAG:MicrosoftExcel | Excel技巧 | Excel函數 |