INDEX 和 MATCH 是 Excel 中比較常用的兩個(gè)查找函數(shù),堪稱數(shù)據(jù)查詢的好兄弟,這兩個(gè)函數(shù)組合,能夠完成 VLOOKUP 函數(shù)和 HLOOKUP 函數(shù)的全部查找功能。
使用 MATCH 函數(shù)精確位置
想知道某個(gè)數(shù)據(jù)是一列或一行數(shù)據(jù)中的第幾個(gè),則可以使用查找函數(shù)中的 MATCH 函數(shù),因?yàn)樗梢暂p松確定某個(gè)數(shù)據(jù)在其所屬行或列中的位置。
在 MATCH 函數(shù)中,第 3 參數(shù)“[match_type]”可以為 1、0 或 -1。
使用 MATCH 函數(shù)查找數(shù)據(jù)時(shí),將會(huì)在數(shù)據(jù)區(qū)域中按從左到右,或者從上到下的順序查找指定的數(shù)據(jù),當(dāng)找到匹配數(shù)據(jù)后,再返回?cái)?shù)據(jù)所在的位置。
例如,下圖所示表格中有兩列數(shù)據(jù),現(xiàn)在需要找出 A 列數(shù)據(jù)是否與 C 列中的數(shù)據(jù)重復(fù),重復(fù)的數(shù)據(jù)在 C 列中處于什么位置,此時(shí)就可以使用 MATCH 函數(shù)輕松解決。
如果要判斷下表中A2單元格中的數(shù)據(jù)是否與C列重復(fù),則可在E單元格中輸入公式“=MATCH(A2,$C$2 : $C$10,0)”,按【Enter】鍵即可。
向下填充公式,可查找到其他員工編號(hào)是否重復(fù)。
如果希望返回的結(jié)果為指定的數(shù)據(jù),則可結(jié)合 IF 函數(shù)和 ISNA 函數(shù)。
例如,將上圖返回的數(shù)字轉(zhuǎn)換為“是”,將 #N/A 錯(cuò)誤值轉(zhuǎn)為“否”,只需要在 E2 單元格中輸入公式“=IF(ISNA(MATCH(A2,$C$2 : $C$10,0))," 否 "," 是 ")”,然后向下填充公式即可。
MATCH 函數(shù)很少單獨(dú)使用,一般都會(huì)與其他函數(shù)配合使用。
在使用 MATCH 函數(shù)時(shí),還需要注意以下幾點(diǎn)。
(1)MATCH 函數(shù)返回匹配值在 lookup_array 中的位置,而非其值本身。例如,MATCH(1,{2,3,1},0) 返回 3,即“1”在數(shù)組 {2,3,1} 中的相對(duì)位置。
(2)匹配文本值時(shí),MATCH 函數(shù)不區(qū)分大小寫字母。
(3)如果 match_type 為 0 且 lookup_value 為文本字符串,則可在 lookup_value 參數(shù)中使用通配符問(wèn)號(hào)(?)和星號(hào)(*)。問(wèn)號(hào)匹配任意單個(gè)字符,星號(hào)匹配任意一串字符。如果要查找實(shí)際的問(wèn)號(hào)或星號(hào),那么就在字符前鍵入波形符(~)。
NDEX 函數(shù)的兩種形式
INDEX函數(shù)用于返回表或區(qū)域中的值或?qū)χ档囊茫袛?shù)組和引用兩種形式。
1 數(shù)組形式
INDEX 函數(shù)的數(shù)組形式有 3 個(gè)參數(shù),分別用來(lái)指定保存數(shù)據(jù)的區(qū)域、提取第幾行的數(shù)據(jù)和提取第幾列的數(shù)據(jù)。
在下圖所示表格的 H2 單元格中輸入公式“=INDEX(A2 : F11,5,4)”,按【Enter】鍵即可。
當(dāng)?shù)?1 參數(shù)的數(shù)據(jù)區(qū)域只有 1 行或 1列時(shí),可以只為 INDEX 函數(shù)設(shè)置兩個(gè)參數(shù),這兩個(gè)參數(shù)分別用于指定數(shù)據(jù)區(qū)域和返回區(qū)域在該區(qū)域中的位置。
例如,在 A列中顯示了“銷售 1 部”的前十名銷售人員,如果要查找從上到下第5個(gè)銷售人員,則需要在C2單元格中輸入公式“=INDEX(A2 : A11,5)”,按【Enter】鍵即可。
如果需要提取數(shù)據(jù)區(qū)域中的某行或某列數(shù)據(jù),則需要將第 2 參數(shù)“row_num”或第 3 參數(shù)“[column_num]”設(shè)置為 0(零)。
例如,在“銷售排名”表格中提取銷售 3 部前十名的銷售人員的姓名,就需要先選擇存放結(jié)果的 H2 : H11 單元格區(qū)域,輸入公式“=INDEX(A2 : F11,0,4)”,按【Ctrl+Shift+Enter】組合鍵,將公式轉(zhuǎn)換為數(shù)組公式即可。
2 引用形式
INDEX 函數(shù)的引用形式有 4 個(gè)參數(shù),第 1 參數(shù)可以由多個(gè)單元格區(qū)域組成,第 2 參數(shù)和第 3參數(shù)與數(shù)組形式中的第 2 參數(shù)和第 3 參數(shù)相同,第 4 參數(shù)用來(lái)指定需要返回第幾個(gè)區(qū)域中的單元格。
INDEX 函數(shù)的引用形式與數(shù)組形式的區(qū)別在于,引用形式可以有多個(gè)選擇區(qū)域,而且可以指定返回第幾個(gè)選擇區(qū)域。
當(dāng)然,只有一個(gè)區(qū)域時(shí),兩種形式?jīng)]有區(qū)別。
INDEX 與 MATCH 雙劍合璧,實(shí)現(xiàn) 3 種查詢
在數(shù)據(jù)查詢中,MATCH 函數(shù)單獨(dú)使用的情況并不多,大多數(shù)情況下都是與其他函數(shù)搭配使用,特別是與 INDEX 函數(shù)的搭配,被稱為是一對(duì)黃金組合,能夠?qū)崿F(xiàn)大多數(shù)情況下的數(shù)據(jù)查詢,大大提高數(shù)據(jù)查詢效率。
例如,下圖為某公司員工信息表,要查找某員工的聯(lián)系電話,除可以使用前面講解的 LOOKUP 函數(shù)外,還可以使用 INDEX 和 MATCH 函數(shù)來(lái)實(shí)現(xiàn)。
如果要查找“王雪佳”的聯(lián)系電話,則只需要在 I2 單元格中輸入“王雪佳”,再在 J2 單元格中輸入公式“=INDEX(G:G,MATCH(I2,B:B,0))”,按【Enter】鍵即可。
使用 INDEX 和 MATCH 函數(shù)組合查詢非常靈活,不受原始數(shù)據(jù)列順序的影響。
例如,要根據(jù)電話號(hào)碼查找對(duì)應(yīng)的員工姓名,在下圖所示表格的 I2 單元格中輸入需要查詢的電話號(hào)碼,再在 J2 單元格中輸入公式“=INDEX(B:B,MATCH(I2,G:G,0))”,按【Enter】鍵即可查找出已知聯(lián)系電話對(duì)應(yīng)的員工姓名。