Excel用什麼函式可以找到對應的資料(Excel怎樣用函式查詢兩個表的不同資料)
編按:今天是VLOOKUP與LOOKUP雙雄戰的第三回合。在前兩個回合中,VLOOKUP旗開得勝,連勝兩局。第三回合是交叉查詢,LOOKUP能否展開反擊止住頹勢呢?
—————————————————
VLOOKUP和LOOKUP這對高頻函式的較量註定是場持久戰。在前兩個回合的較量中,VLOOKUP佔據上風,此番更要乘勝追擊。新一輪較量,即刻開戰!
***ROUND 03 交叉查詢
什麼是交叉查詢?我們可以通過一個查詢值查詢多個欄位。如果被查詢的多個欄位的排列順序與查詢區域中對應欄位的順序不一致,我們稱之為交叉查詢。如下,我們要從資料來源中查詢“阿普”的多個欄位“綽號”“能力”“職位”,很顯然被查詢欄位與資料來源中欄位“職位”“能力”“綽號”的排列順序不一致,這就是交叉查詢,要怎麼做呢?
最基礎的做法就為每一個查詢欄位單獨設定公式。
H3公式 =VLOOKUP($G3,$A$1:$E$12,5,0)
I3公式 =VLOOKUP($G3,$A$1:$E$12,4,0)
J3公式 =VLOOKUP($G3,$A$1:$E$12,3,0)
這種逐一設定公式的做法很笨拙,除了需要重複輸入類似的公式外,還需要人工判別每一個單元格的返回列值。如果查詢欄位很多,估計會逼瘋不少表親。下面看看小花是如何使用VLOOKUP和LOOKUP做交叉查詢的。
VLOOKUP:經天緯地,拿手好戲
VLOOKUP和MATCH這對函式組合正是為交叉查詢而生。VLOOKUP通過MATCH函式的協助,自動判斷出返回列值。MATCH函式用於返回查詢值在某一行/列中的位置,它的語法是MATCH(查詢值,查詢行/列,查詢方式)。此處我們用到的查詢方式是精確查詢,第三個引數用FALSE或0表示。
公式說明
以B17公式為例,“職位”出現在A1:E1的第三個位置,所以MATCH的返回值為3。
介紹完MATCH函式的基本用法後,隆重介紹EXCEL函式中一種使用頻率最高的函式組合——VLOOKUP MATCH。
=VLOOKUP($G3,$A$1:$E$12,MATCH(H$2,$A$1:$E$1,0),0)
公式說明
VLOOKUP MATCH組合的基本套路是=VLOOKUP(查詢值,查詢區域,MATCH(查詢欄位,欄位區域,0),0)。它是在VLOOKUP的基本用法上,將第三個引數返回值列序用MATCH替換,通過匹配,自動返回目標欄位在查詢區域的列序。
套路的基本要點如下:
1.MATCH的查詢值必須與VLOOKUP查詢區域標題行中的某個單元格完全一致。這是高頻錯誤點,需注意空格的干擾!
2.為了使公式可以拖動填充,VLOOKUP的第一個引數通常鎖定列,如$G3,第二個引數通常鎖定行和列,如$A$1:$E$12;MATCH的第一個引數通常鎖定行,如H$2,第二個引數通常鎖定行和列,如$A$1:$E$1。公式最後是“,0),0)”這樣的結構,分別表示MATCH函式和VLOOKUP函式都執行精確匹配。這些細節都是小白容易忽略、出錯的地方。
LOOKUP:陣列形式,劍走偏鋒
說實話,交叉查詢,LOOKUP同樣無法單幹,需要找幫手組團行動,譬如 LOOKUP MATCH OFFSET。
=LOOKUP($G3,OFFSET($A$1:$A$12,,,,MATCH(H$2,$A$1:$E$1,0)))
公式說明
該公式使用了LOOKUP的陣列形式=LOOKUP(查詢值,查詢區域),表示在查詢區域的首行/列中進行匹配,返回查詢區域末行/列中與之對應的值。於是問題的重點就變成了如何使查詢區域的末列自動變為返回值的所在列。我們用OFFSET函式和MATCH函式來解決。
OFFSET函式是一個偏移函式,它根據給定的偏移行數和列數從初始位置偏移至指定區域,並返回指定大小的區域,它的語法是:=OFFSET(初始區域,偏移行數,偏移列數,[返回區域的行數],[返回區域的列數])
此處我們的初始區域為A1:A12,返回區域仍然是以A1:A12為首列的區域,行、列偏移量皆為0,返回區域的行數也與初始區域一致,因此這三個引數直接用逗號佔位,不填數字。最後我們通過MATCH返回匹配列序數,從而確定OFFSET返回區域的列數。公式最終返回以A列為首列、以MATCH返回值為末列,包含1-12行的區域。以H3中的公式為例,MATCH返回5,則OFFSET返回結果是以A1:A12為首列的5列區域即A1:E12。把A1:E12作為LOOKUP陣列形式的第二個引數,LOOKUP將查詢值$G3在區域A1:E12的首列A1:A12中進行匹配,返回查詢區域A1:E12的末列E1:E12中與之對應的值,從而完成交叉查詢。
第三回合,在處理交叉查詢問題時,VLOOKUP和LOOKUP都能應對自如。
但VLOOKUP的用法較為簡單,只需藉助MATCH函式即可完成,而LOOKUP函式則需要MATCH和OFFSET兩個函式和它配合才能實現。綜合看來,後者不如前者簡單易學。
***結束語:
VLOOKUP MATCH是查詢函式中非常經典的套路,LOOKUP的陣列形式在實戰中也非常實用,兩者都是查詢函式學習的重中之重。希望小夥伴們不要只做VLOOKUP和LOOKUP較量中的吃瓜群眾,還要能深入瞭解其原理,掌握用法,提升能力。
****部落窩教育-excel查詢函式技巧****
原創:小花/部落窩教育(未經同意,請勿轉載)
更多教程:部落窩教育(www.itblw.com)
微信公眾號:exceljiaocheng