當前位置:才華齋>計算機>辦公自動化>

Excel中多條件查詢資料方法

辦公自動化 閱讀(1.47W)

在使用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時,字型顏色同背景色。