經常我們需要從一列值中在另一部分對應表中查找匹配相應的值,舉個例子:
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列的值,也就是“張三”的語文成績。
之所以要用“$”符號是為了固定住索引區域,不因拖拽的自動填充而發生變化
————————————————
版權聲明:本文為CSDN博主「老胡當道卧」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/sinat_27339001/java/article/details/52366914