標籤:

玩轉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函數用於屏蔽錯誤值,使之返回空文本""。

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

動畫:看見星光

圖文:祝洪忠

一大波免費公開課,精彩即將開啟

點左下角【閱讀原文】立刻報名免費公開課吧!


推薦閱讀:

最適合做夫妻的十個條件,你們具備幾個?
孩子愛上自我閱讀需要的三個條件
【情感導航---孩子頂撞媽媽是有條件的】
八字中的「從印」格,需要怎樣的條件?
excel多條件專輯

TAG:條件 | 結果 |