Vlookup函數,只能查找第1個嗎?No!
注意:今天的內容對新手有點高難!一定要注意收藏!
在眾人的印象中,Vlookup函數只能查找到第一個符合條件的。如下面這樣。
=VLOOKUP(D2,A:B,2,0)
其實,我只需要對查找區域進行重組,可以查找任意一個符合條件的值,比如第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)
查找最後1個:
=VLOOKUP(D2&COUNTIF(A:A,D2),IF({1,0},A2:A7&COUNTIF(INDIRECT("a2:a"&ROW(A2:A7)),D2),B2:B7),2,0)
查找倒數第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))
推薦閱讀:
※EXCEL函數|橫向查找函數HLOOKUP的使用方法
※前列腺癌愛「潛伏」,專家教你如何查找「蛛絲馬跡」
※使用 VVLOOKUP、INDEX 或 MATCH 查找值
※查找自己的星座!
※查找函數哪家強?