二維碼 購物車
部落窩在線教育歡迎您!

怎么用VLOOKUP搞定一對多的匹配問題

?

作者:郅龍來源:部落窩教育發(fā)布時間:2021-06-29 10:29:41點擊:17716

分享到:
0
收藏    收藏人氣:0人
版權(quán)說明: 原創(chuàng)作品,禁止轉(zhuǎn)載。

編按:

VLOOKUP作為萬能的查詢函數(shù),被廣泛運用于一對一的數(shù)據(jù)查詢中,可是一旦碰到一對多的查詢問題,就顯得有點捉襟見肘了。真的是這樣嗎?其實,VLOOKUP對一對多的問題也可以輕松解決!下面,一起來看看真正的高手怎么簡單有效地用VLOOKUP制作一個一對多的動態(tài)查詢表吧!

 

VLOOKUP函數(shù)大家應(yīng)該都會用,這個函數(shù)平時可是幫我們大大提高了工作效率呢。通常用VLOOKUP都是一對一的匹配,但也有時候會遇到一對多的問題,很多人就不知道該怎么辦了。

其實加一個輔助列的話,用VLOOKUP很容易就能搞定一對多的匹配問題,今天就這個問題介紹兩個思路,希望能對大家有所幫助。

 

先來看看一對多匹配的效果圖:

 

 

一、思路一

1.添加一個輔助列A列,并在A2中輸入公式:=B2&COUNTIF($B$1:B2,B2)后下拉填充。

 

 

公式解析:

①在這個公式中,COUNTIF函數(shù)實現(xiàn)的是對某個區(qū)域中的某個值進(jìn)行計數(shù),所以COUNTIF($B$1:B2,B2)實現(xiàn)的是一個編號的效果。

公式中的區(qū)域?qū)懛ㄊ?span>$B$1:B2,當(dāng)公式下拉的時候,區(qū)域的范圍會隨著增加。得到的結(jié)果就是輔助列中部門后面的那些數(shù)字,表示部門是第幾次出現(xiàn)。

③用&符號把部門和第幾次出現(xiàn)連接起來,作為VLOOKUP的查找范圍的首列。

 

2.在單元格F2中建立下拉菜單,在單元格G2中輸入公式:=IFERROR(VLOOKUP($F$2&ROW(A1),$A:$D,COLUMN(C1),0),""),把公式往右填充至H列,再往下填充,就實現(xiàn)了一對多的匹配。

 

 

公式解析:

①在VLOOKUP($F$2&ROW(A1),$A:$D,COLUMN(C1),0)這部分,查找條件是$F$2&ROW(A1)。

F2是要查找的部門,ROW(A1)A1單元格的行號,也就是1,下拉時會變成2、3……,組合以后會形成和輔助列類似的結(jié)果,即“部門名稱”+“行號序列,此時就實現(xiàn)了將一對多匹配的問題變成一對一匹配的問題。

③COLUMN(C1)是為了方便公式可以右拉到H列,不用再為H列重新編寫公式。

④IFERROR讓公式不顯示錯誤值。

 

方法1是一個比較常規(guī)的思路,接下來要說的方法2,就比較新穎了。

 

二、思路二

1.添加一個輔助列A列,并使用公式:=A1+(B2=$F$2)

 

 

這個輔助列的公式看上去非常簡單,但很多小伙伴可能會比較蒙,這是什么意思呢?

其實在這個公式中,是利用了比較運算得到一個邏輯值,再利用邏輯值計算得到一組數(shù)字。

 

公式解析:

這一組數(shù)字和方法1中的數(shù)字含義有些類似,也是要查找的部門出現(xiàn)的次數(shù),只不過是反推。即當(dāng)F2中出現(xiàn)了數(shù)據(jù),且通過邏輯判斷在B列中找到時,再與當(dāng)前單元格相加。比如,下圖中,當(dāng)F2為“銷售部”時,B列有相同的單元格時,相對應(yīng)的A列單元格內(nèi)依次計數(shù)為1—4;當(dāng)B列沒有與之相同的單元格時,相對應(yīng)的A列單元格內(nèi)顯示為0。

 

 

與方法1的區(qū)別在于,方法1是通過將部門名稱與出現(xiàn)次數(shù)合并實現(xiàn)了把一對多匹配變成一對一匹配。方法2是利用VLOOKUP的一個特性:當(dāng)要找的內(nèi)容出現(xiàn)多次時,只能匹配第一次出現(xiàn)的結(jié)果。

 

最終的公式是=IFERROR(VLOOKUP(ROW(A1),$A:$D,COLUMN(C1),0),""),在G2錄入公式以后,右拉填充至F2,再向下填充。

 

 

注意:

在這個公式中,VLOOKUP的第一參數(shù)直接使用ROW(A1),也就是數(shù)字1,23……

這里需要有個思想的轉(zhuǎn)化過程,VLOOKUP找的實際是第一個1,第一個2,第一個3等等,這些正好是要找的部門第一次出現(xiàn),第二次出現(xiàn),第三次出現(xiàn)等等。

 

到這里,VLOOKUP一對多查找的兩個思路基本說明白了。

 

補充tips

最后還想和大家再說說方法二的這個輔助列,也就是邏輯值的應(yīng)用。

在公式=A1+(B2=$F$2)中,B2=$F$2是一個比較運算,得到的結(jié)果是TRUEFALSE。

Excel中,邏輯值是可以參與計算的,在計算時TRUE相當(dāng)于1,FALSE相當(dāng)于0。很多復(fù)雜的問題由于邏輯值的加入而變得簡單有趣,關(guān)于邏輯值的妙用,有興趣的朋友可以掃描下方二維碼到《Excel教程》公眾號下留言,改天咱們單獨分享一次。

 

本文配套的練習(xí)課件請加入QQ群:902294808下載。

Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你!

掃下方二維碼關(guān)注公眾號,可隨時隨地學(xué)習(xí)Excel

IMG_256

相關(guān)推薦:

如何在交叉查詢中使用VLOOKUP?看完就懂!

怎么用vlookup在兩個查找區(qū)域里查找?

VLOOKUP函數(shù)的第三個參數(shù)被這樣操作可以自動獲??!

查找函數(shù)Filter一鍵返回符合條件的多個值,比Vlookup強大

版權(quán)申明:

本文作者郅龍;同時部落窩教育享有專有使用權(quán)。若需轉(zhuǎn)載請聯(lián)系部落窩教育。