excel表格中Match函數(shù)怎么使用? Match函數(shù)的那些小伎倆

match函數(shù)是excel常見的引用函數(shù),但它與vlookup、index等引用函數(shù)不同,它不是查詢某個值在另一區(qū)域中的對應(yīng)數(shù)據(jù),而是返回某個值在某個區(qū)域的位置。但也正因為match函數(shù)的這個特性,它通常與vlookup和index函數(shù)等進行組合搭配使用,能夠應(yīng)對日常工作中的大量數(shù)據(jù)引用場景。
下面作者將進行match函數(shù)基礎(chǔ)語法的講解,和“match+vlookup”及“match+index”兩種最常見函數(shù)組合公式應(yīng)用。
match函數(shù)語法和用法
MATCH函數(shù)的基本含義:
MATCH函數(shù)用于在指定區(qū)域內(nèi)查找特定值,并返回該值在區(qū)域中的相對位置(指定范圍的行序號或列序號)。它是Excel和WPS表格中實現(xiàn)動態(tài)定位的根基函數(shù),常與INDEX、OFFSET等函數(shù)組合使用。
match函數(shù)的語法圖如下所示:
其完整表達式為:=match(查找值,查詢區(qū)域,匹配類型)
MATCH函數(shù)的公式結(jié)構(gòu)也夠簡單:
=MATCH(查找值, 查找區(qū)域, [匹配模式])
- 查找值:要搜索的內(nèi)容(文本、數(shù)值、單元格引用)
- 查找區(qū)域:單行或單列的數(shù)據(jù)范圍
匹配模式(可選):
- 0:精確匹配(最常用)
- 1:升序模糊匹配(區(qū)域必須升序排列)
- -1:降序模糊匹配(區(qū)域必須降序排列)
如果第三參數(shù)省略默認為“1”:升序模糊匹配。
它包含3個參數(shù),第1參數(shù)為查找值,第2參數(shù)為查詢區(qū)域,第3參數(shù)是匹配類型。
其含義是返回查詢值在特定順序下的數(shù)組中的位置。所以從這個定義來看,它有一定的前提條件,即數(shù)據(jù)區(qū)域默認執(zhí)行升序排序!這一點是我們在日常match函數(shù)應(yīng)用中容易忽視的細節(jié)。
它的通俗含義則是返回查找值在列表中的位置,結(jié)果會返回一個數(shù)字。
這里我們需要了解match函數(shù)第3參數(shù)的兩種匹配類型,分別為精確匹配和近似匹配,用數(shù)字來表示則為0和1.
所謂精確匹配即只查詢與查找值相同的值,而近似匹配它會在列表不包含該查找值時,返回與其相近的值。
這里我們要查詢?nèi)掌跒?ldquo;2023/11/20”的最低價,如果使用vlookup函數(shù)來查詢,其關(guān)鍵一步是要確定要返回的結(jié)果位于區(qū)域中的第幾列,當數(shù)據(jù)量不大時,可以直接數(shù)出結(jié)果列的位置,但這里我們將使用match函數(shù)來快速返回要返回結(jié)果的列序號。
根據(jù)match函數(shù)的語法,我們在其第1參數(shù)查詢值輸入“H1”單元格地址,第2參數(shù)查詢區(qū)域即要在哪個單元格區(qū)域中查詢該值,輸入為第1行標題行的數(shù)據(jù)單元格區(qū)域,第3參數(shù)是匹配類型,輸入0則為精確匹配。
所以公式為:
=MATCH(H1,A1:E1,0)
公式得到的結(jié)果為4,即該查詢值在標題行中的位置為第4個數(shù)據(jù)。
此時我們將這個match函數(shù)公式嵌套到vlookup函數(shù)中,并作為它的第3參數(shù)要返回的列號。
vlookup+match函數(shù)組合
這個函數(shù)組合是excel中應(yīng)用頻率非常高的引用公式,它的含義就是利用match函數(shù)確定要返回的指定列序號,然后通過vlookup函數(shù)執(zhí)行數(shù)據(jù)查詢。
我們直接輸入公式:
=VLOOKUP(G2,A1:E245,MATCH(H1,A1:E1,0),0)
vlookup函數(shù)的表達式為:=vlookup(查找值,引用區(qū)域,返回列,匹配類型)
關(guān)于vlookup函數(shù)的具體公式應(yīng)用這里不作詳解,我們只要清楚match函數(shù)在其中是作為第3參數(shù)來返回一個列序號的數(shù)字,使vlookup函數(shù)在引用區(qū)域的對應(yīng)列中返回要查詢的數(shù)據(jù)!
index+match函數(shù)組合
當我們使用index函數(shù)來查詢特定日期的指定價格,比如開盤價或最低價,則需要執(zhí)行兩次match函數(shù)的嵌套。
因為index函數(shù)的表達式是:=index(引用區(qū)域,行序號,列序號)
根據(jù)其語法表達,它需要返回兩個為數(shù)字的參數(shù)值,既然列序號可以通過match函數(shù)得到,那么同理也可以使用match函數(shù)來計算指定值在一列中的位置。
所以我們直接輸入公式:
=INDEX(A1:E245,MATCH(G10,A1:A245,0),MATCH(H9,A1:E1,0))
這個公式第1個match函數(shù)是查詢指定日期在日期列中的位置,第2個match函數(shù)是查詢指定價格在標題行中的位置。
職場常見辦公場景1:
列標題的動態(tài)定位
比如我們想要確定以“姓名”為名稱的列標題位于所選表格區(qū)域B1:D4的第幾列位置(列序號)。
可以這樣簡單的輸入函數(shù)公式:
=MATCH("姓名",B1:D1,0)
即查找文本值“姓名”在B1:D1單行中的精確匹配位置,很明顯位于第2個單元格中,所以位置就是列號2。
因為在參數(shù)介紹中已經(jīng)明確表明,MATCH函數(shù)的第一參數(shù)不僅可以是文本值,也可以是單元格引用:
=MATCH(C1,B1:D1,0)
所以我們可以將查找值文本值“姓名”用C1來代替。
職場常見辦公場景2:
行標題的動態(tài)定位
這個案例與上一個案例(職場常見辦公場景1)是類似的概念。只不過是把在行區(qū)域中查找變成了在列區(qū)域中查找罷了。
比如我們想要確定以“銷量”為名稱的行標題位于所選表格區(qū)域B1:B3的第幾行位置(行序號)。
我們可以這樣簡單輸入函數(shù)公式:
=MATCH("銷量",B1:B3,0)
即查找文本值“銷量”在B1:B3單列中的精確匹配位置,很明顯位于第3個單元格中,所以位置就是行號3。
職場常見辦公場景3:
多條件位置查找
比如我們想要查找月份“3月”的姓名“李四”位于所選表格區(qū)域B1:D5的第幾行。
可以這行輸入函數(shù)公式:
=MATCH(1,(B1:B5="3月")*(C1:C5="李四"),0)
將兩個條件用乘號連接表示同時滿足成立:
(B1:B5="3月")*(C1:C5="李四")
(B1:B5="3月")會返回由邏輯值TRUE和FALSE組成的數(shù)組:
{FALSE;FALSE;TRUE;TRUE;FALSE}
(C1:C5="李四")會返回由邏輯值TRUE和FALSE組成的數(shù)組:
{FALSE;TRUE;TRUE;FALSE;FALSE}
兩者相乘將會轉(zhuǎn)換為由0和1組成的數(shù)組:
{0;0;1;0}
數(shù)組中的元素“1”則代表兩個條件同時成立時的位置。
MATCH函數(shù)用查找值“1”,在數(shù)組{0;0;1;0}中查找,返回位置“3”。
職場常見辦公場景4:
反向查找最后出現(xiàn)的位置
比如A列中的省份名稱可能包含重復的數(shù)據(jù),我們想要查找“河北”最后出現(xiàn)的單元格位置在第幾行。
我們可以這樣輸入函數(shù)公式:
=MATCH(2,1/(A:A="河北"))
省略第3參數(shù)默認為升序模糊匹配,會查找小于等于查找值最接近的值。
條件判斷:
- A:A="河北"生成由邏輯值TRUE(1)和邏輯值FALSE(0)組成的數(shù)組。
數(shù)組轉(zhuǎn)換:
- 1/(A:A="河北")將邏輯值TRUE轉(zhuǎn)換為1,邏輯值FALSE轉(zhuǎn)換為錯誤值#DIV/0!。
匹配邏輯:
- MATCH(2, ...)會在轉(zhuǎn)換后的數(shù)組中查找最后一個1的位置,因為2大于1,且所有1均小于2。所以最后一個1所在的“河北”位置位于A列的第5個單元格。
職場常見辦公場景5:
近似匹配
比如我們有一個銷量區(qū)域?qū)φ毡恚轰N量小于100,沒有折扣;銷量大于等于100小于200,折扣為3%;銷量大于等于200小于300,折扣為7%;銷量大于等于300,折扣為12%。
我們可以這樣輸入函數(shù)公式:
=MATCH(D3,A2:A4,1)
因為MATCH函數(shù)第三參數(shù)是1,所以查找區(qū)域A2:A4銷量必須升序排序。
以D3單元格的銷量“215”舉例,查找值“215”在A2:A4中不存在,則會返回小于等于215的最大值(銷量200)所在的行為“2”。
繼續(xù)加個INDEX函數(shù):
=INDEX(B2:B4,MATCH(D3,A2:A4,1))
確定B2:B4區(qū)域內(nèi)第2行第1列(與參數(shù)1重合省略)交叉位置的折扣值“7%”。
這里值得注意的是當銷量小于100時,也就是沒有折扣,會返回錯誤值:
=IFERROR(INDEX(B2:B4,MATCH(D3,A2:A4,1)),"0")
嵌套一個IFERROR函數(shù)對可能返回的錯誤值(0折扣)顯示空值即可。
職場常見辦公場景6:
逆向查詢(最常見的案例)
我們想要根據(jù)“產(chǎn)品”從右向左查詢“編碼”。
可以這樣輸入函數(shù)公式:
=MATCH(D3,B2:B4,0)
用MATCH函數(shù)查找D3單元格“冰箱”在B2:B4區(qū)域的精準位置為2。
最后用INDEX函數(shù)外嵌:
=INDEX(A2:A4,MATCH(D3,B2:B3,0))
INDEX函數(shù)查找A2:A4區(qū)域內(nèi)(編碼列)第2行第1列(與編碼列重合省略)的交叉位置值為“a2”。
推薦閱讀:真的太厲害了! 萬能的Alt鍵在Excel中的10個神奇用法
相關(guān)文章
動態(tài)報表的終極奧義! excel表格中FILTER+SORT函數(shù)實現(xiàn)動態(tài)排序篩選的技
各位在 Excel 數(shù)據(jù)泥潭里摸爬滾打的打工人,今天咱們要解鎖一個職場神技——用 SORT + FILTER 組合拳,讓你的報表從“手動拖拉機”秒變“全自動超跑”!無論你是整理銷售數(shù)2025-06-24還有SUMIFS做不到的? FILTER+SUM函數(shù)實現(xiàn)excel數(shù)據(jù)多條件求和的技巧
FILTER+和SUM函數(shù)是excel和wps中都有的函數(shù),結(jié)合這兩個函數(shù)可以進行多條件求和,下面我們就來看看詳細使用方法2025-06-241個公式搞定Excel逆透視! TOCOL函數(shù)的神奇用法
excel數(shù)據(jù)透視表想要進行逆透視,該怎么操作呢?比如office可以pq工具,wps用什么實現(xiàn)呢?我們今天介紹一個函數(shù)不管office或者wps都可以使用2025-06-23FILTER函數(shù)這招我后悔沒早學! excel中10秒搞定數(shù)據(jù)查詢的技巧
之前說到查找函數(shù),大家肯定會想到vlookup,不過現(xiàn)在還有一個新的函數(shù)可以供大家使用,它就是filter,今天就和大家分享一下filter的用法2025-06-23Excel如何實現(xiàn)多條件篩選? 1個函數(shù)都不用也能搞定Excel多條件判斷
Excel數(shù)據(jù)進行多條件判斷的時候,一般都用if函數(shù),如果不用函數(shù)能實現(xiàn)多條件判斷嗎?下面我們就來看看詳細教程2025-06-19讓你輕松掌握表格數(shù)據(jù)查詢! 10個excel函數(shù)VLOOKUP的應(yīng)用實例
Vlookup函數(shù)的用法之前我們也發(fā)了很多,但貼近工作用的Vlookup函數(shù)應(yīng)用示例卻很少,今天給大家?guī)硪黄赩lookup函數(shù)示例大全,希望能給大家的工作帶來幫助2025-06-19Excel中只有COUNT函數(shù)怎么做統(tǒng)計? Excel統(tǒng)計函數(shù)實用指南
有一份員工信息表,需要統(tǒng)計員工性別的數(shù)量,Excel中怎么做標新立異的統(tǒng)計呢?我們可以使用COUNT函數(shù)大顯身手,詳細請看下文介紹2025-06-0480%的職場人都不知道! excel中SUMIF函數(shù)五種另類求和方法
在Excel中,大家經(jīng)常使用sumif函數(shù),除了正常的用法,sumif還有四種另類的求和方法,詳細請看下文介紹2025-06-02具有掃描功能的超級函數(shù)! excel中函數(shù)SCAN新使用指南
SCAN在office excel中是一個超冷門的函數(shù),但它卻是一個自帶掃描功能的超級函數(shù),該怎么使用呢?下面我們就來看看詳細教程2025-05-30你需要哪個? 12個excel函數(shù)公式教您學會按條件求多列數(shù)據(jù)之和
按條件求和,工作中很常見,如果是根據(jù)條件求單列數(shù)據(jù)之和,SUMIF函數(shù)即可解決,但如果是求多列數(shù)據(jù)呢?我們這里分享12種方法,各有各的特色2025-05-01