Q:如圖1所示,列A和列B中的數據都有重復,現在我們要使用INDEX MATCH函數組合來查找西區(qū)空調的數量??梢允褂?/span>MATCH函數獲得查找值所在的行,將其作為INDEX函數的參數來獲取數據。然而,由于MATCH函數將只會返回第一個匹配的數據所在的位置,也就是說公式:=MATCH(“空調”,A:A,0),返回數值5,而我們想要的是數值7,顯然與我們的要求不符,結果當然也不正確。那么,如何實現呢?
圖1
作者:[以色列]尤瓦爾·赫拉利 著 / 林俊宏 譯
A:下面使用INDEX MATCH函數組合編寫的數組公式來實現目的。
如圖2所示,在單元格區(qū)域E2:F3中列出查找條件。在單元格F2中是要查找的物品,單元格F3中是物品所在的倉庫。
圖2
從查找數據的表中,我們發(fā)現物品和倉庫組成的數據沒有重復值,因此可以將它們組合成查找表,這樣查找值也是唯一的。數組公式:
=MATCH(F2&F3,A2:A11&B2:B11,0)
獲得西區(qū)空調在查找表中的位置,返回值6。然后,將結果作為INDEX函數的參數,獲取數量值。數組公式為:
=INDEX(A2:C11,MATCH(F2&F3,A2:A11&B2:B11,0),3)
結果如圖3所示。
圖3
還可以在公式中使用邏輯判斷來實現。下面的數組公式:
=MATCH(1,(A2:A11=F2)*(B2:B11=F3),0)
查找單元格區(qū)域A2:B11中滿足列A中的值為單元格F2中的數據并且列B中的值為單元格F3中的數據所在行的位置,本例中為列A中為“空調”且列B中為“西區(qū)”的行在單元格區(qū)域A2:B11中的位置,返回6,即位于單元格區(qū)域的第6行。
然后,將結果作為INDEX函數的參數,數組公式:
=INDEX(A2:C11,MATCH(1,(A2:A11=F2)*(B2:B11=F3),0),3)
獲取西區(qū)空調的數量為600。
歡迎分享本文,轉載請注明出處。
歡迎在下面留言,完善本文內容,讓更多的人學到更完美的知識。
聯(lián)系客服