夥伴們周五好,進行今天的教程之前,先給大家分享一套,咱們專門為公眾號Excel新人開發的一套《Excel起步訓練營》課程,如果您對Excel不是特別熟悉,那這套課程就很適合您學習。課程定價99元,限時秒殺9元,掃下面海報二維碼訂閱,永久學習,還有微信群輔導答疑互動交流。
今天,小E帶給大家的是VLOOKUP與LOOKUP雙雄戰的第三回合。在前兩個回合中,VLOOKUP旗開得勝,連勝兩局。第三回合是交叉查詢,那麼,LOOKUP能否展開反擊止住頹勢呢?
VLOOKUP和LOOKUP這對高頻函數的較量註定是場持久戰。在前兩個回合的較量中,VLOOKUP佔據上風,此番更要乘勝追擊。新一輪較量,即刻開戰!
什麼是交叉查詢?我們可以通過一個查找值查找多個欄位。如果被查找的多個欄位的排列順序與查找區域中對應欄位的順序不一致,我們稱之為交叉查詢。
如下,我們要從數據源中查找「阿普」的多個欄位「綽號」「能力」「職位」,很顯然被查找欄位與數據源中欄位「職位」「能力」「綽號」的排列順序不一致,這就是交叉查詢,要怎麼做呢?
圖3.1:交叉查詢
最基礎的做法就為每一個查找欄位單獨設置公式。
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)
圖3.2:逐一設置查詢公式
這種逐一設置公式的做法很笨拙,除了需要重複輸入類似的公式外,還需要人工判別每一個單元格的返回列值。如果查找欄位很多,估計會逼瘋不少表親。下面看看小花是如何使用VLOOKUP和LOOKUP做交叉查詢的。
VLOOKUP和MATCH這對函數組合正是為交叉查詢而生。VLOOKUP通過MATCH函數的協助,自動判斷出返回列值。MATCH函數用於返回查找值在某一行/列中的位置,它的語法是MATCH(查找值,查找行/列,查找方式)。此處我們用到的查找方式是精確查找,第三個參數用FALSE或0表示。
圖3.3:MATCH的基本用法
公式說明
以B17公式為例,「職位」出現在A1:E1的第三個位置,所以MATCH的返回值為3。
介紹完MATCH函數的基本用法後,隆重介紹EXCEL函數中一種使用頻率最高的函數組合——VLOOKUP+MATCH。
=VLOOKUP($G3,$A$1:$E$12,MATCH(H$2,$A$1:$E$1,0),0)
圖3.4:VLOOKUP+MATCH交叉查詢
公式說明
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+MATCH+OFFSET。
=LOOKUP($G3,OFFSET($A$1:$A$12,,,,MATCH(H$2,$A$1:$E$1,0)))
圖3.5:LOOKUP的數組形式
公式說明
該公式使用了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課程
想要全面系統學習Excel,不妨關注部落窩教育的《一周Excel直通車》視頻課或者《Excel極速貫通班》。
《一周Excel直通車》視頻課
包含Excel技巧、函數公式、
數據透視表、圖表。
一次購買,永久學習。
最實用接地氣的Excel視頻課
《一周Excel直通車》
風趣易懂,快速高效,帶您7天學會Excel
38 節視頻大課
(已更新完畢,可永久學習)
理論+實操一應俱全
主講老師:滴答
Excel技術大神,資深培訓師;
課程粉絲100萬+;
開發有《Excel小白脫白系列課》
《Excel極速貫通班》。
原價299元
限時特價 99 元
少喝兩杯咖啡,少吃兩袋零食
就能習得受用一生的Excel職場技能!
長按下面二維碼立即購買學習
購課後,加客服微信:blwjymx3領取練習課件
讓工作提速百倍的「Excel極速貫通班」
↓ 點擊閱讀原文,免費試聽。