Hello,大家好,今天我們來解決一個vlookup的痛點,相信很多人都遇到過,先來看下今天的例子,如下圖所示,當我們需要查找多列結果的時候,只能使用vlookup來一列一列的查找,非常的耗費時間,那麼有沒有什麼方法能使用一次vlookup就能找到所有的結果呢?當然有了,今天就跟大家分享下解決方法
一、觀察公式差異
首先我們先來觀察下公式的差異,分別查找下李白的籍貫與性別,看下這2個公式的差異有哪些,以便總結規律
查找籍貫公式為:=VLOOKUP(D13,$A$1:$K$10,6,FALSE)
查找性別公式為:=VLOOKUP(D13,$A$1:$K$10,7,FALSE)
通過觀察我們可以發現,這2個公式的唯一不同的只有第三參數,vlookup第三參數的作用是查找結果所在的列數,如果我們可以自動的獲取vlookup的第三參數,就可以實現利用1次vlookup就能查找的所有的結果,想要實現這個效果我們需要用到match函數
二、match函數的使用方法
Match函數:返回數值在數組區域中的位置
語法:=MATCH(lookup_value, lookup_array, [match_type])
第一參數:查找值第二參數:查找的數據區域第三參數:匹配類型,在這裡我們直接寫0即可,0就表示精確匹配說白了match函數的作用就是查找數據的位置,在這裡我們需要利用match找一下查找項目在數據源表頭中的位置,比如在這裡我們查找一下籍貫在數據源表頭中的位置,只需要將公式設置為:=MATCH(E13,A1:K1,0)即可,他的結果正好是6,這樣的我們就可以將match函數嵌套進vlookup的第三參數中,達到自動獲取第三參數的效果
跟大家簡單的講解下這個公式的計算過程,公式為:=MATCH(E13,A1:K1,0)
- 第一參數:E13 ,就是查找值,在這裡它對應的值為籍貫
- 第二參數:A1:K1。就是查找的數據區域,它對應數據源表頭這個區域
- 第三參數:0,表示精確匹配
Match函數的作用是查找數據的位置,在數據源表頭的這個區域中,籍貫在第6個位置,所以函數的結果就是6,這個就是函數的計算過程
三、嵌套公式
前面已經說了,我們只需要將match函數嵌套進vlookup的第三參數中即可使用1次函數查找多列結果,因為我們需要拖動填充函數,還需要設置相應的單元格引用方式,在這裡我們需要在E14單元格中將公式設置為: =VLOOKUP($D14,$A$1:$K$10,MATCH(E$13,$A$1:$L$1,0),FALSE)
,然後向右拖動,向下填充即可找到所有的結果,下面跟大家簡單的講解下這個公式的參數
這個公式主體上是一個vlookup函數,在vlookup函數中嵌套了一個match函數,所以我們先來看下vlookup函數的參數
- 第一參數:$D14,查找值,需要注意的是在這裡需要鎖定字母標號
- 第二參數:$A$1:$K$10,查找區域,需要注意的是查找區域進行絕對引用
- 第三參數:MATCH(E$13,$A$1:$L$1,0),返回的結果列,用mtach來自動獲取
- 第四參數:false,表示精確匹配
隨後再來看下match函數的參數
公式:MATCH(E$13,$A$1:$L$1,0)
- 第一參數:E$13,查找值,在這裡需要鎖定數字標號
- 第二參數:$A$1:$L$1,查找的數據區域,表頭所在的數據區域,需要絕對引用
- 第三參數:0,表示精確匹配
以上就是這個公式的所有參數,我們只不過是把match函數放進了vlookup函數的第三參數中,讓它幫助我們自動的獲取第三參數罷了,因為需要拖動函數,還需要特別注意數據的引用方式,大家可以動手試一下,還是比較簡單的。
補充案例:
舉個工作中的例子來說明,左邊是記錄流水數據,會一直更新數據然後我們想查找匹配每種商品,最後一次操作人是誰
1、Vlookup無法解決如果我們使用VLOOKUP公式查找匹配,=VLOOKUP(E2,B:C,2,0)你會發現,當表格中能查找匹配多個值時,它只會返回第一次出現的結果
遇到這種情況,有2種解決方法解決方法一:使用lookup函數公式lookup公式也是可以用來查找匹配的,它的萬能通用公式是:=lookup(1,0/(查找值=查找列),結果列)它的查找邏輯和vlookup正好相反,遇到多個查找值時,它是從下向上查找匹配的,所以我們使用的公式是:=LOOKUP(1,0/(B:B=E2),C:C)
解決方法二:XLOOKUP公式XLOOKUP公式只出現在新版本的裡面,如果沒升級的話,是不能使用的,它的使用用法是:=XLOOKUP(查找值,查找列,結果列,查找不到返回結果,匹配方式,搜索方式)如果說我們,只輸入XLOOKUP公式前3個參數,那也是從上向下匹配的:=XLOOKUP(E2,B:B,C:C)
但是,它很靈活,當你想要從下向上搜索的時候,只需要將它的第6個參數,輸入-1,就可以了我們輸入的公式是:=XLOOKUP(E2,B:B,C:C,,,-1)
關於這個小技巧,你學會了么?動手試試吧!
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/229329.html