如下圖所示,需要根據(jù)H2單元格中的月份,以及H4單元格的城市名,在左側(cè)數(shù)據(jù)表中來查詢同時符合兩個條件的數(shù)據(jù)。
數(shù)據(jù)查詢,自然離不開VLOOKUP,在I3單元格輸入以下公式:
=VLOOKUP(H2,A:F,MATCH(H4,A1:F1,0),0)
公式中的“H2”,是VLOOKUP要查詢的關(guān)鍵字,“A:F”是要查詢的數(shù)據(jù)區(qū)域,至于要在數(shù)據(jù)區(qū)域中返回第幾列的內(nèi)容,這里咱們使用MATCH函數(shù)來幫個忙。
MATCH(H4,A1:F1,0) 這部分的作用,是查詢H4的城市名在A1:F1中所處的位置,結(jié)果返回一個數(shù)字。
VLOOKUP以MATCH函數(shù)的結(jié)果來返回對應列的內(nèi)容,正所謂指哪兒打哪兒。
VLOOKUP函數(shù)的查詢方向是從左到右,咱們也可以換成HLOOKUP,來從上到下查詢:
=HLOOKUP(H4,1:7,MATCH(H2,A1:A7,0),0)
公式中的“H4”,是HLOOKUP要查詢的關(guān)鍵字,“1:7”,表示第一行至第7行的整行引用,是要查詢的數(shù)據(jù)區(qū)域,要在數(shù)據(jù)區(qū)域中返回第幾行的內(nèi)容呢?這里也是使用MATCH函數(shù)的結(jié)果作為參照。
MATCH(H2,A1:A7,0) 這部分,就是根據(jù)H2單元格中的月份,從A1:H7單元格區(qū)域中返回所處的位置。
注意注意,使用MATCH函數(shù)的結(jié)果作為VLOOKUP以及HLOOKUP函數(shù)的參數(shù)時,要特別注意MATCH函數(shù)本身查詢區(qū)域的起始位置,必須要和V、H兩位大哥的查詢區(qū)域的起始位置相同。
就像本例中,VLOOKUP的查詢區(qū)域是從A列開始,那MATCH函數(shù)的查詢區(qū)域A1:F1,也是從A列開始。HLOOKUP函數(shù)的查詢區(qū)域是從第一行開始,那MATCH函數(shù)的查詢區(qū)域A1:A7,也是從第一行開始的。
既然愛上了MATCH函數(shù),那就一次愛個夠吧,下面這個公式,就使用了兩個MATCH函數(shù):
=INDEX(A1:F7,MATCH(H2,A:A,0),MATCH(H4,1:1,0))
INDEX函數(shù)第一參數(shù)使用多行多列的A1:F7區(qū)域,然后再使用MATCH函數(shù),分別以H2中月份的位置和H4中城市的位置,來作為INDEX函數(shù)的行列參數(shù),月份在哪一行,INDEX函數(shù)就以此來確定要返回數(shù)據(jù)的行。城市在哪一列,INDEX函數(shù)就以此來確定要返回數(shù)據(jù)的列。
同樣,使用INDEX與MATCH函數(shù)配合使用時,要注意MATCH函數(shù)本身查詢區(qū)域的起始位置要和INDEX第一參數(shù)所選的行列起始位置相同。
因為查詢后要返回的內(nèi)容是數(shù)值,這里咱們也可以使用多條件求和的方法來處理:
=SUMPRODUCT((A2:A7=H2)*(B1:F1=H4)*B2:F7)
既然是多條件求和,還可以使用SUMIF來處理:
=SUMIF(A:A,H2,OFFSET(A:A,0,MATCH(H4,B1:F1,0)))
公式中的OFFSET(A:A,0,MATCH(H4,B1:F1,0)部分,以A列為參照基點,向下偏移0行,向右偏移列數(shù)由MATCH函數(shù)來指定,要查詢的城市在哪一列,就返回哪一列的引用。得到引用作為SUMIF函數(shù)的求和區(qū)域。
多條件求和,還可以用DSUM函數(shù)露一小手:
=DSUM(A1:F7,H4,H1:H2)
公式中的A1:F7是數(shù)據(jù)列表區(qū)域,H4 用于指定返回數(shù)據(jù)列表中哪一個字段的數(shù)據(jù),H1:H2則是帶字段標題的統(tǒng)計條件。
使用這個函數(shù)時,數(shù)據(jù)列表以及統(tǒng)計條件的的字段標題都不能是空白的,所以咱們就加上了一樣的標題“月份”。
如果你是Office 365的用戶,還可以使用XLOOKUP函數(shù)來完成:
=XLOOKUP(H2,A2:A7,XLOOKUP(H4,B1:F1,B2:F7),0)
使用Office 365的小伙伴,用FILTER函數(shù)結(jié)合INDEX函數(shù)也是可以的:
=INDEX(FILTER(A1:F7,A1:A7=H2),MATCH(H4,A1:F1,0))
聯(lián)系客服