[Excel函数] INDEX函数 | MATCH函数
1.INDEX函數
語法: INDEX(array, row_num, [column_num])
array: 單元格區域(查找的數據范圍)
row_num: 第幾行(以單元格區域左上角為起點)
column_num: 第幾列(可選)
在給定的單元格區域中,INDEX函數用于返回特定行列交叉處單元格的值或引用(根據指定的行號和列號來返回一個值)
案例
1.某企業要求查詢5月份銷量 (從列中提取單元格數據)
INDEX函數可以提取單列數據中指定行位置的數據,INDEX(單列區域, 第幾行)
2.某企業要求按地區查詢廣州的銷量 (從行中提取提取單元格數據)
INDEX函數可以提取單行數據中指定列位置的數據,INDEX(單行區域, 第幾列)
3.某企業要求按照月份和地區雙條件查詢2月份廣州的銷量 (按兩個條件從指定區域提取單元格數據)
INDEX函數可以提取多行多列數據中指定行列位置的數據,INDEX(多行多列區域,第幾行,第幾列)
在以上的案例中,INDEX函數中的行、列參數的數字都是手動輸入的,為了實現讓公式跟隨查詢條件自動更新,可以使用MATCH函數自動計算得到需要的行、列位置
2.MATCH函數
語法: MATCH(lookup_value, lookup_array, [match_type])
lookup_value: 要查找的值 (查找的內容單元格)
lookup_array: 查找區域 (單行或單列區域)
match_type: 匹配類型 (match_type的取值: 1,0,-1)
???????????????????? match_type取值為1: 查找小于或等于lookup_value的最大值
???????????????????? match_type取值為0: 查找精確等于lookup_value的第一個值
???????????????????? match_type取值為-1: 查找大于或等于lookup_value的最小值
MATCH函數用于返回符合特定值特定順序的項在數組中的相對位置
在實際工作中,MATCH函數經常用來與INDEX函數嵌套使用
案例
1.查找“3月”所在的相對位置 (查找指定數據在列區域中的相對位置)
2.查找“廣州”所在的相對位置 (查找指定數據在行區域中的相對位置)
3.查找小于1900工資的最大值的相對位置
3.INDEX + MATCH組合
VLOOKUP函數在查詢的時候只能從左往右查詢,且查詢對象所在的列必須要在查詢區域的第一列,也就是說,只能通過A列來查詢B列或其他列,而不能通過B列或其他列來反向查詢A列
反向查詢這類問題可以通過使用INDEX + MATCH兩個函數進行組合求解
MATCH函數用來定位,INDEX函數根據定位來返回指定位置的值
使用MATCH函數來為INDEX函數的第二個參數提供值,告訴INDEX函數要返回的是第幾個值
借助INDEX+MATCH函數組合實現從各種區域(單行、單列、多行多列)中按條件提取數據
案例
1.查詢員工編號"LR0003"的姓名 (反向查詢,從C列查詢A列)
當要查詢的條件(如“員工編號”)在表格中的位置(如C列)處在要返回的數據(如“姓名”)在表格中的位置(如A列)的右側時,使用VLOOKUP函數無法按照C列的“員工編號”查詢A列的“姓名”,但INDEX + MATCH函數組合對數據位置沒有要求,依然可以得到查詢結果
2.查詢員工編號"LR003"應發工資
公式中的“C:C”代表整個C列,“F:F”代表整個F列
3.某企業要求按照月份和地區雙條件查詢3月份廣州的銷量數據 (多條件查詢)
H2單元格輸入:?=INDEX(B2:D7,MATCH(F2,A2:A7,0),MATCH(G2,B1:D1,0))
此公式計算原理的解析分為以下3步:
1.使用“MATCH(F2,A2:A7,0)”根據月份條件定位目標數據所在的行數據
2.使用“MATCH(G2,B1:D1,0)”根據地區條件定位目標數據所在的列數據
3.將MATCH函數返回的行、列位置傳遞給INDEX函數,用于從多行多列單元格區域中的指定行、列交叉點位置提取數據
總結
以上是生活随笔為你收集整理的[Excel函数] INDEX函数 | MATCH函数的全部內容,希望文章能夠幫你解決所遇到的問題。