在Excel中,MATCH函數和INDEX函數是一對非常經典的組合,我們經常能夠在Excel公式中看到他倆的“身影”。MATCH函數返回查找值在單元格區域或者數組中的位置,INDEX函數返回這個位置的數據。下面,讓我們看看MATCH函數和INDEX函數組合使用的一些例子,從中體會這對組合的強大威力。
查找滿足多個條件的數據
如下圖1所示的工作表,數據區域為B3:D16,求單元格G2中指定班級和單元格G3中指定姓名的學生成績?在單元格G4中使用數組公式:
=INDEX(D3:D16,MATCH(G2&G3,B3:B16&C3:C16,0))
其中,MATCH(G2&G3,B3:B16&C3:C16,0)查找到指定班級的學生在數據區域中的位置,作為INDEX函數的參數來提取值。
圖6
注意:由于要想引用當前單元格左側的單元格,因此在定義名稱時,一定要選擇工作表Sheet4的單元格B1。
上面的公式比較復雜,以冒號為界,分為兩個部分。
第一部分:INDEX(Datas,1,MATCH(Sheet4!A1,Sheet3!$1:$1,0))
在工作表Sheet3中找到工作表Sheet4單元格A1中的數據所在的單元格,作為起始單元格。
在第二部分中,公式:COUNTA(INDEX(Datas,,MATCH(Sheet4!A1,Sheet3!$1:$1,0)))
找到工作表Sheet4單元格A1中的數據在工作表Sheet3中的列并統計該列非空單元格數量,作為外層INDEX函數的參數。整個第二部分的INDEX公式找到相應列的最后一個數據單元格,作為結束單元格。
結語
使用MATCH函數與INDEX函數的組合,讓我們突破VLOOKUP函數的局限,創建常用的獲取數據的公式。如果更深入的發掘MATCH函數與INDEX函數的能力,可以創建更加強大的獲取數據區域的公式,使其發揮得淋漓盡致。