Vlookup函數,只能查找第1個嗎?No!

  注意:今天的內容對新手有點高難!一定要注意收藏!

在眾人的印象中,Vlookup函數只能查找到第一個符合條件的。如下面這樣。

=VLOOKUP(D2,A:B,2,0)

Vlookup函數,只能查找第1個嗎?No!

其實,我只需要對查找區域進行重組,可以查找任意一個符合條件的值,比如第2個,倒數第1個,倒數第2個….

思路:上表中A列,如果可以把第1次出現的鄭州修改為鄭州1,第2次出現的修改為鄭州2…第N個出現的修改的鄭州N,那麼我們就可以用 鄭州+數字查找到任意一個值了。

當然,我們不能用手工在表中修改,那樣也太沒水平了。嘿嘿!

怎麼統計某個地區第幾次出現?用Countif函數,而且區域要是一個逐步接伸的區域,這是indirect函數或offset函數專長。

生成6個逐步拉抻的區域。

INDIRECT(‘a2:a’&ROW(A2:A7))

然後在每個區域中統計鄭州的個數

COUNTIF(INDIRECT(‘a2:a’&ROW(A2:A7)),D2)

還要用if({1,0}結構把2列數據組成一個數組。

IF({1,0},A2:A7&COUNTIF(INDIRECT(‘a2:a’&ROW(A2:A7)),D2),B2:B7)

最關鍵的工作完成

最後

用vlookup完成查詢

(以下公式均為數組公式,按ctrl+shift+enter三鍵完成輸入)

查找第2個

=VLOOKUP(D2&2,IF({1,0},A2:A7&COUNTIF(INDIRECT(‘a2:a’&ROW(A2:A7)),D2),B2:B7),2,0)

Vlookup函數,只能查找第1個嗎?No!

查找最後1個:

=VLOOKUP(D2&COUNTIF(A:A,D2),IF({1,0},A2:A7&COUNTIF(INDIRECT(‘a2:a’&ROW(A2:A7)),D2),B2:B7),2,0)

Vlookup函數,只能查找第1個嗎?No!

查找倒數第2個:

=VLOOKUP(D2&COUNTIF(A:A,D2)-1,IF({1,0},A2:A7&COUNTIF(INDIRECT(‘a2:a’&ROW(A2:A7)),D2),B2:B7),2,0)

其實,今天蘭色非要用vlookup函數完成任意位置查找

不是讓你用

而是讓你掌握一種數組重組的

思路

在工作中如果遇到這種查找,直接用index+small/large即可:

最後一個:

=INDEX(B:B,Large((A2:A8=D2)*ROW(A2:A8),1))

倒數第二個

=INDEX(B:B,Large((A2:A8=D2)*ROW(A2:A8),2))

第二個:

=INDEX(B:B,Small((A2:A8=D2)*ROW(A2:A8),2))