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:B3、B$2:B4、B$2:B5……。
也就是隨著公式向下複製,給COUNTIF函數指定一個逐列擴展的參照範圍。
COUNTIF函數能夠統計B列從B2儲存格開始,到公式所在列這個範圍中,與查詢值相同的個數。
如果查詢值在B列是第一次出現,結果就是1;如果是第二次出現,結果就是2……
假如只有三個符合條件的結果,查詢值出現之後的其他內容,結果仍然是3。
再來說說查詢用到的公式:
=IFERROR(VLOOKUP(ROW(A1),A:C,2,0),"")
公式中的ROW(A1)部分,公式向下複製時,依次變為ROW(A2)、ROW(A3)……,結果得到1、2、3……的遞增序列。
VLOOKUP函數使用這個遞增序列作為查詢值,在A:C欄中,以精確匹配的方式傳回與序號相對應的姓名。
注意查找範圍必須由輔助欄A欄開始哦,否則咱們的輔助欄就白瞎了。
由於VLOOKUP函數預設只能傳回第一個滿足條件的記錄,因此得到序號第一次出現的對應結果,也就是與F1儲存格班級相同的對應姓名。
當ROW函數的結果大於A欄中的最大的數值時,VLOOKUP函數會因為查詢不到結果而傳回錯誤值#N/A,IFERROR函數用於遮罩錯誤值,使之傳回空白,如下圖所示。
怎麼樣,你理解了嗎?還是那句話,光說不練假把式,動手試試吧。
留言列表