close

873

三篇文章搞定VLOOKUP這個迷人小精靈-高級

示範檔

範例檔

873.XLSX

結果檔

873F.XLSX

Excel函數界,有400多位成員,只有VLOOKUP是公認的大眾情人。這麼多年來,即使有更強大的函數組合能夠實現它的功能,也從來沒有誰能真正取代它的江湖地位。

在歷年的文章

837 將平時成績表中註記轉換成分數-VLOOKUP函數

835 不會這5Excel函數別說您熟練使用Excel VLOOKUP函數(字串匹配函數)

Q129 VLOOKUP與合併儲存格(不同格數合併,5格內)

Q36 有關VLOOKUP問題

中提到這次錦子老師將為大家揭開VLOOKUP的神秘面紗,初級、中級、高級一應俱全,值得收藏。

3VLOOKUP高級——江湖高手,無形勝有形

案例1:從右往左搜尋(用姓名尋找員工編號)

因為VLOOKUP第三個參數必須為正數,所以從函數本身來理解只能實現由左向右的搜尋,於是很多小夥伴在遇到反向搜尋問題時,總是習慣貼上複製調換位置,這個當然是方法之一。

還有一種方法是借用INDEX函數+MATCH函數實現,非常簡單方便。

但是既然說到VLOOKUP函數,那我們就看看到底能不能用VLOOKUP實現反向匹配。

首先需要利用IF函數將A欄和B欄互換。

公式=IF({1,0},B1:B71,A1:A71)

公式解讀:陣列公式,1相當於TURE0相當於FALSE,當為1時,它會傳回IF的第二個參數(B1:B71),為0時傳回第二個參數(A1:A71)。

輸入公式結束後同時按Ctrl+Shift+Enter三鍵出來結果。

B列和C列實現互換後,再直接用VLOOKUP就可以實現反向匹配。

M2儲存格公式:「=VLOOKUP(L2,IF({1,0},B1:B71,A1:A71),2,0)」。

然後有小夥伴會問,你這是兩欄在一起,如果隔欄反向搜尋怎麼辦呢?當然是同樣的辦法啦。

公式:「=VLOOKUP(L2,IF({1,0},C1:C71,A1:A71),2,0)」。

只需要把對應的欄進行修改即可。注意,第三個參數搜尋欄依舊為2,因為IF函數構建的是一個兩欄的資料表。

案例2:多條件搜尋

在有多個條件的情況下,我們通常需要將多個條件先合併,再利用IF函數陣列特性重構原始資料。

N5儲存格公式:「=VLOOKUP(L5&M5,IF({1,0},B1:B71&C1:C71,F1:F71),2,0)」。

L5&M5:將多條件合併起來,在這是姓名與職稱合併。

IF({1,0},B1:AB71&C1:C71,F1:F71):利用if函數第一個參數的陣列化特徵,將多條件合併後的內容與查詢的列結合起來,組成新的兩欄資料。

【注意】

案例1如果兩欄互換,所以是B在前A在後,這個案例不需要互換,所以AB在前,C在後。

輸入公式結束後同時按Ctrl+Shift+Enter三鍵出來結果。

案例3:在合併儲存格內進行搜尋

雖然一再強調,儘量避免在Excel中進行儲存格合併,但是為了美觀,我們還是會遇到合併儲存格的資料清單。

現需要根據左側產品類型統計各分公司銷售金額。

因為第二個表中「產品類型」被設置成了合併儲存格,除了每個合併範圍的第一個儲存格有數值外,其餘均為空,因此無法直接在表中搜尋對應產品類型的價格,所以首先要使用公式填充合併儲存格中的空儲存格。

P2儲存格公式:「=LOOKUP("",D$2:D2)」。

LOOKUP函數的特殊用法,在以D2儲存格開始不斷向下擴大範圍的儲存格範圍中搜尋「座」字,當LOOKUP函數找不到「座」字時,則傳回範圍中最後一個非空儲存格名稱,即對應的產品類型。

使用LOOKUP函數的結果

解釋:由於LOOKUP搜尋漢字是按照中文拼音的順序來搜尋的,座(拼音zuo)是拼音中的最後一個,所以用「座」可以搜尋範圍中最後一個儲存格內容,同理,換為其它字元代碼較大的中文字()也可以搜尋。

再用VLOOKUP函數搜尋出產品的單價,與銷售量相乘,即得到總銷售額。

最終的公式:「=VLOOKUP(LOOKUP("",D$2:D2),$A$2:$B$6,2,0)*F2」。

好啦,今天的教程就到這裡啦,相信有了這篇文章,大家都能搞定VLOOKUP這個迷人的小妖精了。

這年頭,很多人覺得技能學習是最低級投資回報率是最低的,可是我卻覺得不管在哪一行,技能學習都是初入職場的必修課。


arrow
arrow
    創作者介紹

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