EXCEL中使用index+match函数进行查找匹配

经常我们需要从一列值中在另一部分对应表中查找匹配相应的值,举个例子:

A B C
1 姓名 语文 数学
2 李四 87 69
3 王五 67 98
4 张三 89 66
5 马六 55 91

现在我在表格的另一块想查找张三和李四的语文成绩:

C D
7 张三 (公式?)
8 李四 (公式?)

那么D7、D8的公式应该怎么填呢?
在这里可以考虑index函数和match函数的组合:
index函数可以根据行数(Row_num)、列数(Column_num)返回索引区域(Array)的中的某个值,就像取矩阵中的某个值一样;
而match函数则是会返回索引值(lookup_value)在索引区域(lookup_array)中的相对位置。

这么一讲就很明显了,我们要做的就是先通过match查找到位置,在通过位置找到我们需要的对应的值,所以D7、D8的公式我们应该这么填:

C D
7 张三 =index($A$2:$B$5,match($C7,$A$2:$A$5,0),2)
8 李四 (公式?)

然后“李四”的往下拖拽自动填充就好

解释一下:
match函数是先在A2:A5区域中查找“张三”的相对位置,0是精确匹配的意思,因为“张三”在数组中处在第3的位置,所以match函数返回3;
然后index函数要返回A2:B5区域中第3行(match函数返回给我们的)、第2列的值,也就是“张三”的语文成绩。
之所以要用“$”符号是为了固定住索引区域,不因拖拽的自动填充而发生变化

你可能感兴趣的:(EXCEL)