1. 程式人生 > >EXCEL中使用index+match函式進行查詢匹配

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列的值,也就是“張三”的語文成績。
之所以要用“$

”符號是為了固定住索引區域,不因拖拽的自動填充而發生變化