Q:如圖1所示,列A和列B中的數據都有重復,現在我們要使用INDEX+MATCH函數組合來查找西區空調的數量。可以使用MATCH函數獲得查找值所在的行,將其作為INDEX函數的參數來獲取數據。然而,由于MATCH函數將只會返回第一個匹配的數據所在的位置,也就是說公式:=MATCH(“空調”,A:A,0),返回數值5,而我們想要的是數值7,顯然與我們的要求不符,結果當然也不正確。那么,如何實現呢?
圖1
A:下面使用INDEX+MATCH函數組合編寫的數組公式來實現目的。
如圖2所示,在單元格區域E2:F3中列出查找條件。在單元格F2中是要查找的物品,單元格F3中是物品所在的倉庫。
圖3
還可以在公式中使用邏輯判斷來實現。下面的數組公式:
=MATCH(1,(A2:A11=F2)*(B2:B11=F3),0)
查找單元格區域A2:B11中滿足列A中的值為單元格F2中的數據并且列B中的值為單元格F3中的數據所在行的位置,本例中為列A中為“空調”且列B中為“西區”的行在單元格區域A2:B11中的位置,返回6,即位于單元格區域的第6行。
然后,將結果作為INDEX函數的參數,數組公式:
=INDEX(A2:C11,MATCH(1,(A2:A11=F2)*(B2:B11=F3),0),3)
獲取西區空調的數量為600。