经常我们需要从一列值中在另一部分对应表中查找匹配相应的值,举个例子:
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列的值,也就是“张三”的语文成绩。
之所以要用“$”符号是为了固定住索引区域,不因拖拽的自动填充而发生变化
版权声明:本文为sinat_27339001原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。