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函数技巧:什么是模糊查找,如何操作?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 易语言遍历两个数组成员保留不重复数据
- 下一篇: 启动redash