Excel函數學習之MATCH()函數的使用方法

2023-03-10 22:00:48

今天我們來聊一聊另外一個家族——查詢家族!說起查詢家族,相信大家首先想到的就是VLOOKUP函數。這位大哥打拼沙場多年,早已名揚萬里!相信接觸過Excel的小夥伴都多少略有耳聞。然而今天我們要說的是它身邊得力小弟——MATCH函數!

這個小弟呀,雖然單拎出來能力不咋的,但是跟著大哥組隊,那效果可是槓槓的!

我們先來認識認識他吧

一、MATCH是誰?

MATCH是查詢定位函數,它返回的並不是資料本身,而是該資料在單列或單行中的位置。類似於排隊報數,站在第幾個,MATCH就報幾號!(注意:它只支援單列或單行資料查詢哦~)

函數結構:MATCH(找啥,在哪兒找[單行或單列],查詢型別)

查詢型別:3種。分別用0、1、-1代表。0表示精確查詢,1表示升序查詢,-1表示降序查詢。

二、MATCH基本用法

1.精確查詢

舉個栗子

我們想知道「張三」在「姓名」這列區域排第幾位。

公式:

=MATCH(B3,B$2:B$8,0)

公式解析:

找啥:找「張三」,所以是B3單元格

在哪兒找:在姓名列B2:B8中找。為了防止向下填充公式姓名列區域變動,需要用$將它固定住,即B$2:B$8。

查詢型別:0表示精確查詢。精確查詢不需要排序。

2.升序查詢

升序查詢就是查詢小於等於查詢值的最大值然後返回其所在位置。要求資料必須升序排列。

同樣舉個栗子

我們想知道不大於60的有幾個。

首先對成績按升序進行排列。

然後在D3中輸入公式:=MATCH(60,B20:B40,1)

確定後就得到了人數8人。很顯然升序排列後,返回的是小於等於60的最後一個數值的位置數;也可以理解為統計了凡是不大於60的包括所有等於60的數值的個數。

3.降序查詢

降序查詢就是查詢大於等於查詢值的最小值然後返回其所在位置。要求必須降序排列。

同樣舉個栗子

我們想知道不小於60的有幾個。接著上面的,首先降序排列資料。

然後在E3中輸入公式:=MATCH(60,B20:B40,-1)

確定後得到不小於60的有14人。

得到兩個很顯然的結果:

(1)降序後,升序查詢就出錯了。所以升序查詢就必須升序排列;反過來,降序查詢就必須降序排列。

(2)降序查詢,返回的是大於60中的最小數或者第一個等於60的數的位置數;也可以理解為統計了所有大於60的包括第一個等於60的數值的個數。這一點與升序篩選不同:如果存在與查詢值相同的數值,升序定位到等於查詢值的最後一個數值,而降序定位到等於查詢值的第一個數值。

明白了MATCH是誰和基本用法,估計大家都會認為MATCH有點雞肋:就用來返回位置數,跟我想要查詢具體的值相差很遠呀。

正因為這樣,日常工作中MATCH函數單獨出場幾乎麼有。MATCH並不氣餒,為了贏得自己在函數界的一席之地,它採用了一項有效策略——同巨人結伴共舞!因此有了大名鼎鼎的VLOOKUP+MATCH組合、INDEX+MATCH組合。

三、與巨人共舞

1. VLOOKUP+MATCH組合

下面是一張成績明細表,我們需要找到「元菁米、王慧、廉楓、餘邁」這幾個人的總分、平均分和等級。

如果單用VLOOKUP函數,我們需要頻繁的修改第三引數。當查總分的時候,在P2單元格輸入公式:

=VLOOKUP(O2,A2:M142,11,0)

而要查平均分的時候,就需要修改第三引數為12,公式變為:

=VLOOKUP(O2,A2:M142,12,0)

如此使用很麻煩,那怎麼能省事呢?

MACTH抓緊機會向VLOOKUP推薦了自己,用自己查詢「總分」「平均分」「等級」在A1:M1行中的位置數取代第三引數,就可以不需要手動修改。這時查詢總分的公式就變成:

=VLOOKUP($O2,$A$2:$M$142,MATCH(P$1,$A$1:$M$1,0),0)

然後右拉填充再下拉填充公式就完成了查詢。如下:

可能有夥伴看到過我們前面的文章《會用Column嗎?它讓公式不那麼笨。》,說用COLUMU取代第三引數更簡單:

=VLOOKUP($O2,$A$2:$M$142,COLUMN(K1),0)

說得沒錯,當前查詢值連續排列的,並且排列順序與成績明細排列一致,用COLUMN更簡單。如果是按下面的兩個表查詢呢?

很顯然COLUMN就不適合了,但MATCH完全勝任。

2. INDEX+MATCH組合

還是查成績,如下:

我們單用INDEX查詢成績的話,何叢良的數學成績查詢公式:=INDEX(A2:D9,5,2),物理成績查詢公式:= INDEX(A2:D9,5,4)

INDEX查詢就是以指定的查詢區域為座標系,通過行座標和列座標查詢所需數值。何叢良成績的查詢區域是A2:D9,數學成績位於第5行和第2列的交叉點上,所以公式就是INDEX(A2:D9,5,2)。物理成績位於第5行第4列的交叉點上,所以公式是INDEX(A2:D9,5,4)

通過這樣輸入行數、列數的方式查詢太笨拙,不實用。因此MATCH又見縫插針地向INDEX推薦了自己。MATCH可以根據條件查出定位值,取代人工輸入行數、列數。成績查詢公式變成:

=INDEX($A$2:$D$9,MATCH($F3,$A$2:$A$9,0),MATCH(G$2,$A$2:$D$2,0))

當然這裡也可以用VLOOKUP+MATCH組合,公式:

=VLOOKUP($F3,$A$2:$D$9,MATCH(G$2,$A$2:$D$2,0),0)

那VLOOKUP+MATCH組合與INDEX+MATCH組合有何區別呢?這個問題在後續的函數課堂中我們將談到。有興趣的夥伴可以自己先琢磨琢磨。

怎麼樣,大哥和小弟的組合是不是很棒呢?所以說MATCH函數不愧為函數中的哲學家!今天的函數課就到此為止,我們下期再見。

相關學習推薦:

以上就是Excel函數學習之MATCH()函數的使用方法的詳細內容,更多請關注TW511.COM其它相關文章!