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

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

ABC
1姓名语文数学
2李四8769
3王五6798
4张三8966
5马六5591

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

CD
7张三(公式?)
8李四(公式?)

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

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

CD
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列的值,也就是“张三”的语文成绩。
之所以要用“$”符号是为了固定住索引区域,不因拖拽的自动填充而发生变化


版权声明:本文为sinat_27339001原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。