EXCEL中使用index+match函式進行查詢匹配
阿新 • • 發佈:2018-12-27
經常我們需要從一列值中在另一部分對應表中查詢匹配相應的值,舉個例子:
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列的值,也就是“張三”的語文成績。
之所以要用“$