首頁 > 軟體

使用VLOOKUP函數提取符合條件的多個結果的方法

2020-07-14 14:34:23

大名鼎鼎的VLOOKUP函數是各位同學們處理Excel資料的常用函數,遇到資料查詢的時候,總離不開VLOOKUP函數。但是VLOOKUP函數也有一定的局限性,通常情況下,只能返回符合條件的單個結果,如果有多個符合條件的結果,如何用VLOOKUP提取呢?本文詳細講述了使用VLOOKUP函數提取符合條件的多個結果的方法

先來看一段動畫吧:

輔助列中用到的公式是:

=COUNTIF(B$2:B2,F$1)

提取結果的公式是:

=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),"")

先簡單說說輔助列中公式的意思:

用COUNTIF函數在B$2:B2這個區域內統計查詢值(F1單元格)出現的次數。

這個B$2:B2是有講究的,第一個B2是行絕對參照,第二個B2是相對參照,這樣公式在向下複製時,就依次變成了B$2:B3、B$2:B4、B$2:B5……。

也就是隨著公式向下複製,給COUNTIF函數指定一個逐行擴充套件的參照區域。

COUNTIF函數能夠統計B列從B2單元格開始,到公式所在行這個範圍中,與查詢值相同的個數。

如果查詢值在B列是第一次出現,結果就是1;如果是第二次出現,結果就是2……

假如只有兩個符合條件的結果,查詢值出現之後的其他內容,結果仍然是2。

再來說說查詢用到的公式:

=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),"")

公式中的ROW(A1)部分,公式向下複製時,依次變為ROW(A2)、ROW(A3)……,結果得到1、2、3……的遞增序列。

VLOOKUP函數使用這個遞增序列作為查詢值,在A:C列中,以精確匹配的方式返回與序號相對應的姓名。

注意查詢區域必須由輔助列A列開始哦,否則咱們的輔助列就白瞎了。

由於VLOOKUP函數預設只能返回第一個滿足條件的記錄,因此得到序號第一次出現的對應結果,也就是與F1單元格班級相同的對應姓名。

當ROW函數的結果大於A列中的最大的數位時,VLOOKUP函數會因為查詢不到結果而返回錯誤值#N/A,IFERROR函數用於遮蔽錯誤值,使之返回空文字""。

怎麼樣,你理解了嗎?還是那句話,光說不練假把式,動手試試吧。


IT145.com E-mail:sddin#qq.com