提取符合條件的多個記錄,VLOOKUP:我不服!

小夥伴們好啊,今天老祝和大家說說一對多查詢的問題。就是當一個查詢值對應多條記錄時,如何才能把這些記錄全部提取出來呢?

如下圖所示,是各部門的員工信息。

提取符合條件的多個記錄,VLOOKUP:我不服!

現在,咱們要按部門提取出對應的姓名。

提取符合條件的多個記錄,VLOOKUP:我不服!

要實現這樣的效果,只需要三步:

第一步,插入輔助列

單擊A列的列標,然後右鍵→插入,插入一個空白列。

第二步,在A2單元格輸入公式,向下複製。

=B2&COUNTIF($B$1:B2,B2)

提取符合條件的多個記錄,VLOOKUP:我不服!

COUNTIF函數第一參數使用動態擴展的範圍$B$1:B2,當公式向下複製時,會依次變成$B$1:B3、$B$1:B4……,也就是自B1單元格開始到公式所在行這個範圍內,統計B列部門出現的次數。

再使用&符號,將B列的部門與出現的次數連接,就是相當於給部門加上唯一的標記了。

第三步,在H2單元格中輸入公式:

=IFERROR(VLOOKUP($G2&COLUMN(A1),$A:$E,3,0),"")

提取符合條件的多個記錄,VLOOKUP:我不服!

接下來,咱們說說公式的運算過程:

1、COLUMN(A1)部分,返回A1的列號1。當公式向右複製時,參數A1會變成B1、C1……,COLUMN函數的結果就是1、2、3、……

2、用$G2&COLUMN(A1)作為VLOOKUP函數的查詢值,相當於給G2的部門加上了序號信息,公式在H2單元格中查詢的是“安監部1”,在I2單元格中,查詢的就是“安監部2”,在J2單元格中,查詢的就是“安監部3”了。

3、VLOOKUP函數使用帶序號的部門作為查詢值,與剛剛在A列使用公式得到的輔助信息相對應,最終在$A:$E這個範圍中,返回第3列的姓名信息。

4、當VLOOKUP函數查找不到對應的內容時,會返回錯誤值,所以咱們再使用IFERROR函數進行除錯,如果VLOOKUP函數找不到姓名了,就讓他返回一個空文本。

圖文製作:祝洪忠


分享到:


相關文章: