Excel公式 | INDEX和MATCH實現逆向查找
MATCH是Excel中的一個匹配函數,可以返回指定數值在指定數組區域中的位置。
具體用法如下:
MATCH(lookup_value, lookup_array, match_type)
lookup_value:需要查找的值。
lookup_array:要查找的區域,必須是某一行,某一列或某個一維數組。
match_type:查詢的指定方式,用數字0、1、-1表示,分別是精確匹配、升序查找、降序查找模式。
下面我們簡單舉幾個例子來簡單介紹一下。
例1:=MATCH(3,{1,5,7,3,9},0)=4match_type為0,即精確查找,在{1,5,7,3,9}中「3」第一次出現的位置為4,所以返回4。
例2:=MATCH(4,{1,3,5,7,9},1)=2match_type為1,即升序查找,要求第2個參數的數組按升序排列,在{9,7,5,3,1}查找出小於或等於4的最大值(即數組中的3)在第2個元素位置,所以返回2。
例3:=MATCH(6,{9,7,5,3,1},-1)=2match_type為-1,即降序查找,要求第2個參數的數組按降序排列,在{9,7,5,3,1}查找出大於或等於6的最小值(即數組中的7)在第2個元素位置,所以返回2。
MATCH的用法大概是這麼多,單獨使用並不是特別實用,一般會與其他函數組合使用,比如INDEX。
INDEXINDEX函數是返回表或區域中的值或對值的引用,有數組形式和引用形式兩種。數組形式通常返回數值或數值數組;引用形式通常返回引用。
在逆向查找中我們主要利用前一種,所以在這裡簡單介紹下。
INDEX(array,row_num,column_num)
array為單元格區域或數組常數,也就是返回值所在區域。
row_num為行號,如果區域為某行,行號可省略。
column_num為列號,如果區域為某列,列號可省略。
舉個例子
逆向查找。
假設我們現在有兩列數據,第一列是電影名稱,第二列是演員姓名,現在任意給出一個演員姓名,希望能匹配出其主演的電影。當然,在可以破壞表結構的情況下,可以互換兩列位置利用VLOOKUP解決,今天我們主要介紹如何在不破壞表結構的情況下利用INDEX和MATCH進行逆向查找。
這個例子相對簡單,希望大家可以在實際應用中不斷嘗試更多的用法。
推薦閱讀: