close

474

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

示範檔

範例檔

474.XLSX

結果檔

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

輔助欄中用到的公式是:

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

提取結果的公式是:

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

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

COUNTIF函數在B$2:B2這個範圍內統計查詢值(F1儲存格)出現的次數。

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

也就是隨著公式向下複製,給COUNTIF函數指定一個逐列擴展的參照範圍。

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

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

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

image

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

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

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

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

注意查找範圍必須由輔助欄A欄開始哦,否則咱們的輔助欄就白瞎了。

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

ROW函數的結果大於A欄中的最大的數值時,VLOOKUP函數會因為查詢不到結果而傳回錯誤值#N/AIFERROR函數用於遮罩錯誤值,使之傳回空白,如下圖所示。

image

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

 


arrow
arrow
    創作者介紹

    錦子老師 發表在 痞客邦 留言(0) 人氣()