大多數(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ān)資料圖)
常規(guī)的模糊查找分為兩種情況,一種是數(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尺寸。
如果對(duì)此處看不懂的可以查看教程《Excel函數(shù)學(xué)習(xí)之LOOKUP函數(shù)的5種用法》的第四節(jié)“按區(qū)間查找的套路”。
方法二: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)。現(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)?/p>
*代表所有字符,"*"&E2&"*"則表示包含E2單元格文本內(nèi)容的所有內(nèi)容。
方法二:LOOKUP+FIND
函數(shù)公式:=LOOKUP(1,0/FIND(E2,A$2:A$8),B$2:B$8)
公式解釋?zhuān)?/p>
公式用了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函數(shù)學(xué)習(xí)之LOOKUP函數(shù)的5種用法》的第二節(jié)“精確查找的套路”
相關(guān)學(xué)習(xí)推薦:excel教程
以上就是【整理分享】用VLOOKUP和LOOKUP函數(shù)進(jìn)行模糊查找的4種方法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
關(guān)鍵詞: vlookup函數(shù) LOOKUP函數(shù) Excel