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

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