match函式簡單介紹以及與index函式結合應用

weixin_34041003發表於2018-08-20

Match函式:返回指定方式下與指定數值匹配的元素相應位置

Match函式

功能:match函式用於返回在指定方式下與指定數值匹配的陣列中元素的相應位置。

函式格式:match(資料表中查詢的數值,包含所要查詢數值的連續單元格區域,查詢型別)

其中查詢型別為數字-1/0/1,指明如何在包含所要查詢數值的連續單元格區域。

當查詢型別為1或者省略時,函式就查詢小於或者等於包含所要查詢數值的連續單元格區域的最大數值,此時包含所要查詢數值的連續單元格區域必須按照升序排列。

當查詢型別為0時,函式就查詢等於包含所要查詢數值的連續單元格區域的第一個數值,此時包含所要查詢數值的連續單元格區域可以按照任何順序排列。

當查詢型別為-1時,函式就查詢大於或者等於包含所要查詢數值的連續單元格區域的最小數值,此時包含所要查詢數值的連續單元格區域可以按照降序排列。

實際應用中我們應用到的查詢型別基本上是0,我們也主要來熟悉這個應用。

例1:查詢目標資料的位置

13689163-dea542113f408bb3.png

要求:使用match函式返回目標資料給定的單元格區域中的位置。

查詢“儲君老師”所在A列(或者說是A1:A11所在的位置)

步驟:將游標定在G2單元格中,輸入公式:= MATCH("儲君老師",A1:A11),按enter鍵即可返回“儲君老師”所在的位置。

(在A1:A11單元格區域中查詢“儲君老師”,並返回其在A1:A11這一列的第幾行。)

例2:查詢指定消費者是否發放獎品

Match+index函式配合使用的可以實現對目標資料的查詢並返回其值。繼續沿用上面的例子進行分析

13689163-d412b555807fd14e.png

查詢神燈是否發放獎品

13689163-7187a0dfecc5b275.png

將游標置於H2中,輸入公式:=INDEX(A1:E11,MATCH(G2,A1:A11),5)【或者=INDEX(A1:E11,MATCH(G2,A1:A11,0),5),由於查詢的是“神燈”這個文字在A1:A11中位置,就不涉及到查詢型別中的數值問題。另外MATCH(G2,A1:A11)中的G2能不能換成A2?當然是可以的,因為A2和G2都是“神燈”這個文字,結果是一致的,不過既然G2給出了條件,那就用G2唄】,按enter鍵即可返回“神燈是否發放獎品”的結果。

公式拆解;

MATCH(G2,A1:A11)

在A1:A11中查詢G2單元格中值,並返回其位置(位於這一列的第幾行中)

INDEX(A1:E11,2,5)

上一步MATCH(G2,A1:A11)結果等於2,即“神燈”位於A1:A11這一列的第2行,那麼INDEX(A1:E11,2,5)就是返回A1:E11這個單元格區域中第2行第5列交叉處的值,沒錯就是E2單元格的值,也就是“發放”嘍。

你可能會說這個用Match+index函式幹啥,我用vlookup或者lookup更直接,是的,主要是為了幫助大家理解Match+index。

那麼我們再來看看下面這一個例子Match+index的應用。

例3:查詢指定月份指定品牌的利潤

13689163-f81cad2d86cc0aa9.png

步驟:將游標置於C15單元格中,輸入公式=INDEX(B1:E12,MATCH(B15,A1:A12,0),MATCH(A15,B1:E1,0)),按enter即可得到品牌“帝卡 男”在“7月”的利潤。在查詢其他品牌、指定月份的利潤額時,輸入品牌和月份,即可獲得想要查詢的結果。

公式拆解;

MATCH(B15,A1:A12,0):查詢B15單元格即是品牌“帝卡 男”在A1:A12單元格區域中的位置,很容易知道品牌“帝卡男” 在這一列A1:A12單元格區域中的第5行,即是A5單元格的內容。

MATCH(A15,B1:E1,0):查詢A15單元格即是月份“7月”在B1:E1單元格區域中的位置,很容易知道月份“7月”在這一行B1:E1單元格區域中的第2列,即是C2單元格的內容。

INDEX(B1:E12,MATCH(B15,A1:A12,0),MATCH(A15,B1:E1,0))=index(B1:E12,5,2)

現在可以很清楚的看到,查詢的是B1:E12單元格區域的第5行,第2列內容。沒錯就是C5單元格中的值了。

13689163-f5849c257b700ac3.png

上次有同學問我match一會兒在列查詢,一會兒在行查詢,怎麼理解,記住一點就行,包含所要查詢數值的連續單元格區域為列時即上面的MATCH(B15,A1:A12,0),查詢品牌“帝卡男” 在這一列A1:A12單元格區域中的位置,一看查詢的包含所要查詢數值的連續單元格區域即A1:A12為列,那麼就是找資料表中查詢的數值即B15裡面的值(“帝卡 男”)在這一列的第幾行。

當包含所要查詢數值的連續單元格區域為行時即上面的MATCH(A15,B1:E1,0),月份“7月”在這一行B1:E1單元格區域中的位置,一看查詢的包含所要查詢數值的連續單元格區域即B1:E1為行,那麼就是找資料表中查詢的數值即A15裡面的值(“7月”)在這一行的第幾列。


即是:包含所要查詢數值的連續單元格區域為時,就是查詢資料表中查詢的數值在包含所要查詢數值的連續單元格區域第幾列。【7月在B1:E1這一行的第幾列】


包含所要查詢數值的連續單元格區域 為時,就是查詢資料表中查詢的數值在包含所要查詢數值的連續單元格區域第幾行。【“帝卡 男”在A1:A12這一列的第幾行】


不知道你理解了沒有,回去再看看儲君老師的vlookup和match函式的結合運用,爭取融會貫通。另外match函式和vlookup函式在很多情況是通用的,小夥伴們趕緊來試試!

相關文章