編按:大多數(shù)時(shí)候我們都需要進(jìn)行精確查找,但也會(huì)遇到需要模糊查找的時(shí)候。譬如根據(jù)簡(jiǎn)稱(chēng)查找全稱(chēng),譬如根據(jù)數(shù)值劃分等級(jí)等。模糊查找不等于瞎子摸象,這里分享4種用VLOOKUP和LOOKUP函數(shù)進(jìn)行模糊查找的方法。 今天來(lái)跟大家分享模糊查找的幾種方法。 常規(guī)的模糊查找分為兩種情況,一種是數(shù)值;一種是文本。 一、數(shù)值模糊查找 首先我們分享關(guān)于數(shù)值的模糊查找。 舉例:某公司需要為新員工定制工作服,現(xiàn)在需要根據(jù)員工的實(shí)際身高匹配需要定制衣服的尺碼。 這種情況就需要通過(guò)模糊查找來(lái)返回每個(gè)員工身高所對(duì)應(yīng)的尺寸。有兩種方法來(lái)完成。 方法一:LOOKUP 函數(shù)公式: =LOOKUP(B2,{0;165;170;175;180;185;190},{"S";"M";"L";"XL";"XXL";"XXXL";"XXXXL"}) 公式解析: 這是通過(guò)LOOKUP向量形式來(lái)完成模糊查找??梢岳斫鉃椴檎褺2單元格處于{0;165;170;175;180;185;190}哪個(gè)區(qū)間,如果在某個(gè)區(qū)間內(nèi)就返回對(duì)應(yīng){"S";"M";"L";"XL";"XXL";"XXXL";"XXXXL"}的文本信息。 譬如169位于165-170之間,那么就返回“M”文本信息。 這里的區(qū)間對(duì)應(yīng)關(guān)系如下。0到小于165的屬于S尺寸;165到小于170的屬于M尺寸,依次類(lèi)推,直到大于等于190的屬于XXXXL尺寸。 方法二:VLOOKUP 函數(shù)公式: =IFERROR(VLOOKUP(B2+5,F:G,2,1),"S") 日常工作中我們使用VLOOKUP函數(shù)時(shí)第四個(gè)參數(shù)都是輸入0,表示精確查找,此處第四參數(shù)為1,表示近似查找。 公式解析: 1.通過(guò)函數(shù)公式=VLOOKUP(B2,F:G,2,1)即可返回目標(biāo)區(qū)域中小于等于查找值的最大值所對(duì)應(yīng)的尺碼。注意:在使用VLOOKUP函數(shù)進(jìn)行模糊查找之前必須要將查找范圍F:G處的數(shù)據(jù)按查找內(nèi)容(此處為身高)進(jìn)行升序排序。 例如,我們查找172,那么就返回目標(biāo)區(qū)域中小于等于172的最大值即170,對(duì)應(yīng)的尺碼為M。由于服裝的尺寸是就高不就低,身高172的員工必須定制身高175的L碼的衣服,所以我們?cè)诓檎移ヅ鋾r(shí)需要在員工身高基礎(chǔ)上加5,這樣就能返回大于身高的最小尺寸了。 2.員工中有部分身高即使加5后仍小于165,因?yàn)镕列165就是最小的了,所以這部分?jǐn)?shù)據(jù)無(wú)法在F列查找到所需值,VLOOKUP函數(shù)返回錯(cuò)誤值#N/A。我們希望小于165的員工都定制S號(hào),就通過(guò)IFERROR函數(shù)將VLOOKUP錯(cuò)誤結(jié)果重定向?yàn)槲谋咀址癝”。 二、文本字符模糊查找 下面分享文本的模糊查找,例如,通過(guò)查找AB返回查找區(qū)域中包含AB的AAAABBB單元格所對(duì)應(yīng)的值。 舉例:下表為各公司2018年度營(yíng)業(yè)額數(shù)據(jù),公司名稱(chēng)為全稱(chēng)?,F(xiàn)在我們?cè)诹硗庖粋€(gè)表中需要根據(jù)公司簡(jiǎn)稱(chēng)來(lái)匹配相關(guān)的營(yíng)業(yè)額數(shù)據(jù)。 方法一:VLOOKUP+通配符 函數(shù)公式: =VLOOKUP("*"&E2&"*",A:B,2,0) 公式解釋?zhuān)?/b> *代表所有字符,"*"&E2&"*"則表示包含E2單元格文本內(nèi)容的所有內(nèi)容。 方法二:LOOKUP+FIND 函數(shù)公式: =LOOKUP(1,0/FIND(E2,A$2:A$8),B$2:B$8) 公式解釋?zhuān)?/b> 公式用了LOOKUP查找套路。通過(guò)FIND函數(shù)判斷E2單元格中文本處于A$2:A$8單元格中的位置,如果存在則返回大于0的數(shù)值,否則返回錯(cuò)誤值;然后0/FIND(),則得到一組0和錯(cuò)誤值的數(shù)組;最后LOOKUP函數(shù)出手,在數(shù)組中找到最大的不大于1的值,0,并根據(jù)0所在位置,返回對(duì)應(yīng)的B$2:B$8中的值。 順便說(shuō)一嘴:如果你只想通過(guò)簡(jiǎn)稱(chēng)查到全稱(chēng),則公式可以改成=LOOKUP(1,0/FIND(E2,A$2:A$8), A$2:A$8)。 ****部落窩教育-excel模糊查找技巧**** 原創(chuàng):龔春光/部落窩教育(未經(jīng)同意,請(qǐng)勿轉(zhuǎn)載) |
|
來(lái)自: 部落窩教育BLW > 《部落窩excel/VBA》