忘了vlookup,一對多查詢,F(xiàn)ilter函數(shù)比它更好使!

一對多查詢問題在工作中經(jīng)常能夠遇到,舉個例子,左邊是一個員工信息表,要在右邊根據(jù)部門名稱,找出所有的員工名單。遇到查詢問題,我們通??梢允褂肰LOOKUP函數(shù)來解決,但在這個問題中,F(xiàn)ilter函數(shù)將會更加高效!

VLOOKUP函數(shù)如何解決?
我們知道,VLOOKUP函數(shù)可以根據(jù)左邊第一列的數(shù)據(jù),找出右邊對應(yīng)的內(nèi)容,但是,這里部門不唯一,所以,需要先構(gòu)造一個輔助列,使用COUNTIF函數(shù)可以實現(xiàn):
=B2&COUNTIF($B1:B2,B2)

在這個公式中,COUNTIF會對相同部門出現(xiàn)的次數(shù)進行計數(shù),市場部出現(xiàn)第一次,就計為1,出現(xiàn)2次,則計為2,以此類推,然后用&連接符,把部門名稱和計數(shù)連接起來,就得到了市場部1、市場部2……我們就得到了一個唯一的輔助列。
接著,我們使用VlOOKUP函數(shù)來查找,查找值就是市場部1、市場部2…所以,我們希望可以有一個公式,往右拖動的時候,自動變成1、2、3、4……,COLUMN函數(shù)剛好可以實現(xiàn)。
=COLUMN(A:A)

我們把這個數(shù)字,和部門結(jié)合起來查詢,就可以查到這個部門下的所有員工了,查找公式如下:
=VLOOKUP($F2&COLUMN(A:A),$A:$D,4,0)

所以使用VLOOKUP函數(shù),查找起來還是有點繞的,如果你使用的Excel版本是2021版,那么可以使用Filter函數(shù)來解決這個問題。
FIlter函數(shù)如何解決?
Filter函數(shù)的語法很簡單,只有3個參數(shù):
=FILTER(要返回內(nèi)容的數(shù)據(jù)區(qū)域,指定的條件,[沒有記錄時返回的內(nèi)容])
在這個問題中,我們輸入公式,就可以直接查出來:
=FILTER(D:D,B:B=F2)

但這個查出來的是豎版,我們通過轉(zhuǎn)置公式TRANSPOSE,把結(jié)果變成豎版,然后往下填充即可。
=TRANSPOSE(FILTER(D:D,B:B=F2))

是不是就方便多了?
要獲取本文的示例文件,關(guān)注Excel精選技巧后,私信發(fā)送【20230314】即可獲取。
如果有任何疑問,可以在評論區(qū)留言哦!