Excel中多條件查找數據方法

在使用Excel中,如果根據某一個條件,查找表中的值,這是一件較爲容易的事情,MATCH()、INDEX()、LOOKUP()、VLOOKUP()、HLOOKUP()等函數均可較爲容易的實現。但如果要進行滿足多條件查找,則是一件不容易的'事情,而工作中會經常遇到需要對滿足兩個以上條件的數據進行查找並引用的問題,下面是小編提供多種方法如:數組公式、VLOOKUP函數、INDEX和MATCH函數等等,大家可以根據情況選擇。SHEET1工作表內容如圖:

Excel中多條件查找數據方法

現在要求在SHEET2工作表的A、B列輸入有關內容後,C列自動從SHEET1工作表中查找並引用相應的C列的內容。SHEET2工作表如圖:

SHEET2工作表C1單元格使用以下數組公式,可達到目的: =IF(OR(A1="",B1=""),"",OFFSET(Sheet1!$C$1,SUM(IF((Sheet1!A$1:A$1000=A1)*(Sheet1!B$1:B$1000=B1),ROW(Sheet1!C$1:C$1000),0))-1,0,1,1)) 注意:輸入完公式後要按Ctrl+Shift+Enter鍵,讓它自動加上數組公式符號"{}"。

  用VLOOKUP函數解決方法:

=IF(OR(A1="",B1=""),"",VLOOKUP(A1&B1,IF({1,0},Sheet1!A$1:$A$1000&Sheet1!B$1:B$1000,Sheet1!C$1:C$1000),2,0))

  用INDEX和MATCH函數解決方法:

=IF(OR(A1="",B1=""),"",INDEX(Sheet1!C$1:C$1000,MATCH(A1&B1,Sheet1!A$1:A$1000&Sheet1!B$1:B$1000,0))) 這兩個也是數組公式。

  另提供兩個不用數組公式的解決方法:

=IF(OR(A1="",B1=""),"",INDIRECT("Sheet1!$C"&SUMPRODUCT((Sheet1!A$1:A$1000=A1)*(Sheet1!B$1:B$1000=B1)*ROW(Sheet1!C$1:C$1000)))) =IF(OR(A1="",B1=""),"",LOOKUP(2,1/((Sheet1!A$1:A$1000=A1)*(Sheet1!B$1:B$1000=B1)),Sheet1!C$1:C$1000))

推薦使用VLOOKUP的應用,而且不用太多改變原數據庫。

  增加對#N/A的判斷函數:

  更改函數如下(數組函數)

=IF(ISERROR(VLOOKUP(A1&B1,IF({1,0},Sheet1!A$1:$A$1000&Sheet1!B$1:B$1000,Sheet1!C$1:C$1000),2,FALSE)),"",VLOOKUP(A1&B1,IF({1,0},Sheet1!A$1:$A$1000&Sheet1!B$1:B$1000,Sheet1!C$1:C$1000),2,0))

如果該位置顯示爲0 可以使用“條件格式……” 當該格=0時,字體顏色同背景色。