位置:首頁 > 軟件操作教程 > 辦公軟件 > Excel > 問題詳情

MATCH函數的語法及使用

提問人:周麗平發(fā)布時間:2021-08-19

MATCH函數返回指定值在數組中的位置,如果在數組中沒有找到該值則返回#N/A。數組可以已經排序或沒有排序,并且MATCH函數不區(qū)分大小寫。。

image.png

什么情況下使用MATCH函數?

MATCH函數返回指定值在數組中的位置,其結果可以被其他函數使用,例如INDEX函數VLOOKUP函數。例如:在未經排序的列表中找到數據項的位置;和CHOOSE一起使用獲取學生成績;和VLOOKUP一起使用來靈活選擇列;和INDEX一起使用來顯示獲勝者的姓名

MATCH函數語法

MATCH函數的語法如下:

MATCH(lookup_value,lookup_array,[match_type])

lookup_value可以是文本、數值或邏輯值

lookup_array是數組或數組引用(在單行或列中的連續(xù)單元格)

match_type可以是-1, 0或1。如果忽略,則為1

MATCH陷阱

MATCH函數返回所查找項的位置,而不是值。如果需要獲取值,那么與其他函數,如INDEX,一起使用。

示例1:在未排序的列表中查找數據項

對于未排序的列表,可以使用0作為match_type參數,以查找完全匹配的值。如果查找文本并使用0作為參數,那么可以在查找值中包括通配符。

本例中,可以輸入月名或帶有通配符的部分名字,查找列表中該月的位置。

=MATCH(D2,B3:B7,0)

image.png

可以輸入數組作為lookup_array參數來代替數組引用。如下面的公式所示,單元格D5中輸入要查找的月名,在MATCH函數的第二個參數中輸入3個月份名。如果在單元格D5中輸入的最后一個月名,例如是Oct,那么結果將是#N/A。

=MATCH(D5,{“Jan”,”Feb”,”Mar”},0)

image.png

示例2: 將學生成績修改為字母

本例中,與CHOOSE函數一起來獲取字母成績。match_type是-1,因為成績以降序排列。

當參數match_type是-1時,結果為大于或等于查找值的最小值。本例中,查找值是54,不在成績列表中,因此返回60所在的位置。因為60在成績列表中的位置是4,所以在CHOOSE函數選項中的第4個值是結果,即單元格C6,其值為D。

=CHOOSE(MATCH(B9,B3:B7,-1),C3,C4,C5,C6,C7)

image.png

示例3: 在VLOOKUP函數中創(chuàng)建靈活的列選擇

要使VLOOKUP公式更靈活,可以使用MATCH函數來查找列號,而不是在公式中硬編碼。本例中,用戶可以在單元格H1中選擇區(qū)域,作為VLOOKUP函數的值。然后,可以在單元格H2中選擇月份,MATCH函數返回該月份所在的列。

=VLOOKUP(H1,$B$2:$E$5,MATCH(H2,B1:E1,0),FALSE)

image.png

示例4:與INDEX函數一起查找最接近的匹配項

MATCH函數也可以和INDEX函數一起使用。本例中,MATCH函數用于查找最接近正確數值的猜測。

1.ABS函數返回每項猜測和正確數值的絕對差。

2.MIN函數查找最小的差值。

3.MATCH函數在差值列表中查找最小的差值。如果有多個相同的值,那么返回第一個值。

4.INDEX函數返回名字列表中該位置的名字。

=INDEX(B2:B5,MATCH(MIN(ABS(C2:C5-F1)),ABS(C2:C5-F1),0))

image.png


繼續(xù)查找其他問題的答案?

回復(0)
返回頂部