MATCH函數(shù)用于返回某數(shù)值在數(shù)組中的位置,其表達(dá)式為以下公式,請注意函數(shù)參數(shù)的意義:
MATCH(lookup_value,lookup_array, match_type)
在這里,lookup_array可以設(shè)置為查找的單元格區(qū)域,也可以是數(shù)組或數(shù)組引用。參數(shù)match_type可以取值為-1、0或1,用來指定查找的方式。
●取值為1或省略該參數(shù),函數(shù)查找小于或等于lookup_value的最大數(shù)值。這時,lookup_array必須按升序排列。
●取值為0,函數(shù)MATCH查找等于lookup_value的第-個數(shù)值,參數(shù)lookup_array可以按任何順序排列。
●取值為-1,函數(shù)MATCH查找大于或等于lookup_value的最小數(shù)值,參數(shù)lOOKIP_array必須按降序排列。
在使用這一函數(shù)進(jìn)行搜索時,需要注意的是:
●函數(shù)返回的是lookup_array中目標(biāo)值的位置,而不是數(shù)值本身。例如,MATCH("b",{"a","b","c"},0)返回2,即"b"在數(shù)組{"a","b","C"}中的相應(yīng)位置。
●查找文本值時,函數(shù)不區(qū)分大小寫。
●如果函數(shù)MATCH查找不成功,則返回錯誤值#N/A。
●如果match_type為0且lookup_value為文本,可以在lookup_value中使用通配符、問號和星號。問號匹配任意單個字符,星號匹配任意一串字符。如果要查找實(shí)際的問號或星號,需要在該字符前鍵入波形符“~”。
實(shí)例
某學(xué)校對學(xué)生發(fā)放獎學(xué)金,已經(jīng)根據(jù)學(xué)生的學(xué)年成績進(jìn)行了排名,學(xué)校將根據(jù)這一排名,對前5名學(xué)生發(fā)放獎學(xué)金,現(xiàn)在要查詢學(xué)生“王夢”和“趙小梁”是否可以得到獎學(xué)金。
1.將學(xué)生的排名結(jié)果列舉到表格內(nèi),并輸入要查詢學(xué)生的名字。
2.在單元格D2內(nèi)輸入公式“=IF(MATCH(C2,$A$2:$A$9,0)<=5,"獲得獎學(xué)金,名次是"&MATCH(C2,$A$2:$A$9,0),"未得到獎學(xué)金")”,按Enter鍵得到該學(xué)生的查詢結(jié)果。將公式向下填充,可以得到另一個學(xué)生的查詢結(jié)果。
在這里,利用MATCH函數(shù)查詢該學(xué)生的名次,如果小于5,則該學(xué)生能得到獎學(xué)金,返回文字信息及名次;如果不小于5,則說明該學(xué)生沒有獲得獎學(xué)金。而MATCH中的參數(shù)lookup_array采用了絕對引用,可以防止在填充時該區(qū)域會隨查詢單元格的移動而變化,從而導(dǎo)致查詢結(jié)果的錯誤。