如何使用VLOOKUP實現數據模糊匹配查詢?

2021-02-21 Excel星球

HI,大家好,我是星光。

Excel函數社群裡有一道數據模糊匹配的練習題,如下圖所示:

A:F列是數據源。需要在I2:K5區域編寫函數公式,查詢H列人名相關科目的考試成績。

H列人名可能是簡寫,比如星光,對應A列的人名是看見星光。

這樣的問題,我們通常使用VLOOKUP函數。

打個響指,還記得嗎?VLOOKUP函數支持模糊匹配查詢。

有朋友說,當然記得,把第4參數改成TRUE或者非0的數值就是模糊匹配了:

^.^咱們這說的模糊匹配查詢和VLOOKUP的第4參數沒啥關係。正確解法公式如下:

=VLOOKUP("*"&$H2&"*",$A:$G,5,0)

"*"&$H2&"*"部分,*是通配符,可以代替0到多個字符,H2兩邊都帶有通配符,意思也就是包含H2的字符串,以此作為VLOOKUP的查詢值。

但上面這條公式,固定返回數據源第5列,也就是語文成績;如果我們需要動態返回數學、政治等科目的成績,還需要將VLOOKUP的第3參數,修改為MATCH函數:

MATCH函數返回多列 ▼

=VLOOKUP("*"&$H2&"*",$A:$G,MATCH(I$1,$A$1:$G$1,0),0)

MATCH函數查詢J1的科目名稱在數據源標題行的位置,以此作為VLOOKUP的第3參數。

最後再包裝一個IFERROR函數,將查無結果的人名顯示為"查無"即可。

IFERROR屏蔽錯誤值 ▼

=IFERROR(VLOOKUP("*"&$H2&"*",$A:$G,MATCH(I$1,$A$1:$G$1,0),0),"查無")

……

那麼除了VLOOKUP,還有哪些函數也可以解決同樣的問題呢?

INDEX函數▼


代碼看不全可以左右拖動..▼

=IFERROR(INDEX($A:$F,MATCH("*"&$H2&"*",$A:$A,0),MATCH(I$1,$A$1:$F$1,0)),"查無")


利用MATCH函數也支持使用通配符的特點,查詢相關人名和科目的行列位置,再通過INDEX函數按圖索驥。



HLOOKUP函數▼

代碼看不全可以左右拖動..▼

=IFERROR(HLOOKUP(I$1,$A:$F,MATCH("*"&$H2&"*",$A:$A,0),0),"查無")

XLOOKUP函數▼

代碼看不全可以左右拖動..▼

=XLOOKUP("*"&$H2&"*",$A$2:$A$22,XLOOKUP(I$1,$A$1:$F$1,$A$2:$F$22),"查無",2)

關於XLOOKUP函數的詳細教程可以閱讀:

12個案例!帶你從入門到進階全面解析函數新貴XLOOKUP



FILTER函數▼


=FILTER(FILTER($B$1:$F$22,$B$1:$F$1=I$1),ISNUMBER(SEARCH($H2,$A$1:$A$22)),"查無")

關於FILTER函數的詳細教程可以閱讀:


FILTER才是365新函數系列的核心,而不是XLOOKUP……

LOOKUP函數▼

代碼看不全可以左右拖動..▼

=IFERROR(LOOKUP(0,-SEARCH($H2,$A$2:$A$22),OFFSET($A$2:$A$22,0,MATCH(I$1,$B$1:$F$1,0))),"查無")

本例中,LOOKUP函數實現模糊匹配的核心是SEARCH函數,而不是通常所使用的FIND函數。這是由於FIND函數區分字母大小寫,而SEARCH並不區分,後者更具有通用性。

那麼為什麼大家往往選擇FIND函數,而不是SEARCH函數呢?看我嚴肅的小眼神,這屬於歷史遺留問題。過去的人們寫函數產生了內卷,以至於對函數字符串的長度產生了嚴重的潔癖——通過函數公式的長度來判斷一個人水平的高低,SEARCH比FIND多出兩個字母,就顯得函數編寫者的逼格不夠高……

關於字母大小寫的區分查詢問題,可以參考往期教程:

=IF("a"="A","對","錯")返回對還是錯?又有什麼作用?

……

最後再給大家留一道練習題,也是關於數據模糊匹配查詢的。

A:F是數據源。需要在G2:I5區域編寫函數,獲取F列人名相關科目的考試成績。F列人名可能包含除了人名以外的信息,比如查找值公眾號Excel星球,對應A列的人名是Excel星球。

沒了,今天給大家分享的內容就這樣,左上角點關注,右下角點個讚,咱們下期再見。

案例文件下載百度網盤..▼

https://pan.baidu.com/s/15Y45iz6aw8VUi2yNRzVacw 需要系統學習Excel,卻找不到優質教程?學習Excel的過程中遇到疑難問題,卻找不到人及時作出解答?加入我的付費社群,和2000+學員共同精進Excel,這一切都不是問題……

相關焦點

  • 如何使用VBA處理數據模糊匹配查詢?
    在VBA系列教程前面的章節裡,分別給大家分享了什麼是字典、如何使用字典處理各種情況下的數據查詢、聚合統計等,本節再給大家分享一下如何使用VBA實現數據模糊匹配查詢。VBA處理數據模糊匹配查詢通常有4種方式,一種是單元格對象的Find方法,一種是比較運算符Like,一種是Instr函數,還一種是正則表達式。4種方式各有優勢。
  • 【Excel VBA】如何處理數據模糊查詢與匹配?
    數據源賦值Rng    arr = Range("e1:f" & Cells(Rows.Count, 5).End(xlUp).Row)    '查詢區域裝入數組arr    For i = 2 To UBound(arr) '遍歷查詢區域        Set cll = Rng.Find(arr(i, 1), lookat:=xlPart) 'xlpart
  • Excel數據多條件交叉查詢,全部3種方法都在這,vlookup函數已經out了
    毋庸置疑在Excel數據匹配的時候,單條件數據查找vlookup的功能確實是非常的強大。但是在進行數據多條件查詢的時候,單詞使用vlookup函數就會顯得非常的無力。下面我們就來學習如何利用函數嵌套的方式,快速完成數據的多條件匹配查詢。函數公式一:index+match函數嵌套快速完成多條件數據查詢
  • 不懂vlookup的使用?不要說自己會用Excel!
    然而不同工序的記錄,都存在不同的表格裡,我們要查詢或者匯總,某一個零件所有工序的數據時,就需要從各個表裡去匹配。曾經有一天,我路過一個新同事的工位,看到他正對著屏幕上兩個並排擺放的Excel表格滿頭大汗。原來他不會使用vlookup,正在通過肉眼比對一行行的數據,他說看了一個多小時了,才對完一半,感覺自己都快瞎了。
  • Excel中的數據匹配和查找
    其中使用最廣的就是VLOOKUP,這篇文章就從VLOOKUP開始,介紹幾種常見的匹配和查找數據的方式。文章分成兩部分:第一部分介紹,VLOOKUP的基本使用 和 替代方法;第二部分介紹,VLOOKUP無法實現的一些功能:多列匹配,向左查詢匹配,匹配時區分大小寫,返回最後一個匹配的數據而不是第一個。
  • 數據查詢只會vlookup就out了,自定義zlookup查詢函數操作更簡單!
    毋庸置疑vlookup函數在Excel數據查詢中作用是非常的強大。但是它也有一些不能實現的數據查詢。如上圖所示,我們需要根據人員的出現次數,提取第N次的數據。這裡vlookup函數就無法使用,但是我們使用Zlookup函數就可以輕鬆完成。下面我們就來學習的學習一下zlookup函數如何快速解決我們的查詢問題。
  • 讓vlookup搞定多條件查詢
  • Indirect搭配Vlookup函數輕鬆實現多表查詢.
    生產搬運分享Excel基礎技能用1%的Excel基礎搞定99%的日常工作做一個有文藝範的Excel公眾號Excel是門手藝 玩轉需要勇氣‍以前覺得掙錢不重要現在オ知道星辰和大海都需要門票詩和遠方的路費都很貴我們都知道vlookup
  • vlookup函數用法大全,解決所有數據查詢問題,收藏備用吧
    Vlookup函數相信大家都非常的熟悉,平常就是用它來查找下數據,其實對於數據合併,數據提取這樣的問題我們也能使用vlookup函數來解決,今天跟大家盤點下vlookup的9種用法,帶你徹底解決工作中的數據查詢類問題1.常規用法常規方法相信大家都非常的熟悉,在這裡我們想要查找西瓜的銷售額,只需要將公式設置為:=VLOOKUP
  • 每天學點Excel|弱水三千,如何只取特定值(Vlookup函數上)?
    是的,在《每天學點excel|如何不用編程提取合併千張表》中,我們曾經使用過等距離跨行提取數據的操作。不過呀,咱們在實際工作中不只需要等距離跨行提取數據,還是經常會遇到根據特定要求提取數值的要求,不是有句老話叫作「弱水三千只取一瓢飲」嘛,如果在N多的數據裡只想找到哪個「對的TA」怎樣操作呢? 說到這,可能很多小夥伴們會說:這個好簡單呀,不是有篩選功能嘛,篩選就可以了啦。
  • 查找返回多個數據值新思路,自製多功能查詢函數比vlookup更簡單
    在工作中我們經常會碰到根據某個單一條件去查找對應的數據值,這個時候我們常用的一個萬能查詢函數那就是vlookup函數,vlookup
  • 如何使用VLOOKUP進行多條件查詢?
    今天給大家聊一下如何使用VLOOKUP函數進行多條件查詢。舉個例子。如下圖所示,是某跨國公司(小聲說一下,小學老師說過,加粗的都是重點)的人員出差明細表。從荷蘭到山東談一場說分手就分手的戀愛...現在需要根據姓名和月份兩個條件查詢部分人員的出差地點▼……根據兩到多個條件去查詢數據,這就是所謂的多條件查詢了。
  • vlookup函數如何進行多條件查詢,最簡單的兩個方法你需要知道
    我們都知道vlookup函數在Excel數據查詢中使用的非常頻繁。什麼向左向右查詢等操作都可以操作。
  • vlookup函數的使用方法(實例版)
    通俗表述就是VLOOKUP(查找值,查找範圍,查找列數,精確匹配或者近似匹配) 在此,老菜鳥告訴大家,在我們的工作中,幾乎都使用精確匹配,該項的參數一定要選擇為false。否則返回值會出乎你的意料。VLOOKUP使用示範vlookup就是豎直查找,即列查找。
  • excel查找函數-vlookup
    在我們日常表格數據處理中,經常遇到數據查詢等問題,比如根據產品編號查詢單價或根據產品名稱反方向查找產品編碼等。
  • Excel最強大的符號,一個符號代替所有數據,讓模糊查詢變精確
    Hello,大家好,今天跟大家分享下excel中通配符的使用方法,在excel中通配符非常的簡單,但是他卻能與函數配合使用達到我們想要的結果,操作也比較的簡單,關鍵還是了解通配符的這個概念,下面就讓我們來看下今天的內容吧一、什麼是通配符通配符可以簡單理解為能夠代表excel中所有數據的符號,只要你能在excel中輸入的都可以用它來表示
  • 用VLOOKUP函數從多個工作表查詢數據
    有群友在群裡問如何在多個工作表中查詢數據,當時我太忙,沒仔細考慮,只是建議用
  • excel查詢刪除重複數據的3個最簡單方法
    表格當中,我們經常會碰到在海量的數據當中,怎麼去查詢和刪除掉類似重複的數據。下面我們來講解3種查詢刪除重複數據的最為簡單的方法。
  • 熟練使用VLOOKUP+MATCH等五個常用函數組合(2)
    案例一:vlookup+Match函數快速實現連續數據的批量查詢案例說明:如上圖所示,我們需要在數據源中單獨查詢李碧、劉繼興兩個人這裡我們如果只用vlookup函數,我們需要輸入6次才能查詢完。使用vlookup+Match函數我們可以實現一次性批量查詢。
  • EXCEL數據範圍區間模糊匹配,成績等級評定,教師必備實用技能
    今天跟大家分享一下EXCEL數據範圍區間模糊匹配,成績等級評定,教師必備實用技能。如果覺得幫幫真的幫到了您,分享分享朋友圈呀,親們^^<——非常重要!!!メ下面我們用查詢函數來完成。先在右側製作一新的核定表如右方所示。メ