我們模擬一個一對多查詢的例子:左邊是部門及員工姓名數據,我們需要根據部門,來查找出所有的員工姓名
我們在使用VLOOKUP函數進行查找匹配的時候,如果源數據中有多個值時,它只會查找出第一個值,比如我們在E2輸入的公式:
=VLOOKUP(D2,A:B,2,0)
那如何才能進行一對多查詢呢?如果直接給你一個公式,你可能很難理解為什麼這麼做。那麼在給出公式之前,我們先轉化一下思路,如果說,我們左邊的數據是不同的,然後我們查找的數據也是不同的,那麼用上面的vlookup公式就可以很容易匹配出來
那麼一對多查詢的問題,就轉化成了,如何將最原始的錶轉換成這個表了
首先是左邊的原始數據源處理,我們插入一個輔助列,然後輸入的公式是:
=B2&COUNTIF($B$2:B2,B2),COUNTIF函數是用來累計計數的,從上至下累計出現的次數是多少
然後就是查找的值進行處理了,我們使用的公式是:
=$E$2&COLUMN(A1),COLUMN(A1)表示的是A1在第幾列,就是第1列了,向右填充就得到了2,3,...
所以我們整體使用的公式是:
=VLOOKUP($E$2&COLUMN(A1),$A:$C,3,0)
向右填充
如果我們下方還需要查找財務部的時候,我們可以注意一下查找值E2的相對引用,以及錯誤值的屏蔽,使用公式是:
=IFERROR(VLOOKUP($E2&COLUMN(A1),$A:$C,3,0),"")
關於一對多的查詢,你學會了麼?動手試一下~