在Excel中,如果根據(jù)某一個條件,查找表中的值,這是一件較為容易的事情,MATCH()、INDEX()、LOOKUP()、VLOOKUP()、HLOOKUP()等函數(shù)均可較為容易的實(shí)現(xiàn)。但如果要進(jìn)行滿足多條件查找,則是一件不容易的事情,而工作中會經(jīng)常遇到需要對滿足兩個以上條件的數(shù)據(jù)進(jìn)行查找并引用的問題,本節(jié)提供多種方法如:數(shù)組公式、VLOOKUP函數(shù)、INDEX和MATCH函數(shù)等等,大家可以根據(jù)情況選擇。SHEET1工作表內(nèi)容如圖:
現(xiàn)在要求在SHEET2工作表的A、B列輸入有關(guān)內(nèi)容后,C列自動從SHEET1工作表中查找并引用相應(yīng)的C列的內(nèi)容。SHEET2工作表如圖:
SHEET2工作表C1單元格使用以下數(shù)組公式,可達(dá)到目的:
=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鍵,讓它自動加上數(shù)組公式符號'{}'。
用VLOOKUP函數(shù)解決方法:
=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函數(shù)解決方法:
=IF(OR(A1='',B1=''),'',INDEX(Sheet1!C$1:C$1000,MATCH(A1&B1,Sheet1!A$1:A$1000&Sheet1!B$1:B$1000,0)))
這兩個也是數(shù)組公式。
另提供兩個不用數(shù)組公式的解決方法:
=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的應(yīng)用,而且不用太多改變原數(shù)據(jù)庫。
增加對#N/A的判斷函數(shù):
更改函數(shù)如下(數(shù)組函數(shù))
=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 可以使用“條件格式……” 當(dāng)該格=0時,字體顏色同背景色。
聯(lián)系客服