Excel中的跨表查詢,多表匯總,對于一些人來說,這是一項(xiàng)必學(xué)的技能。 下圖中有13張工作表,分別是一月到十二月每個(gè)月的銷售表以及一張匯總表。 需求:把一月到十二月份的表數(shù)據(jù)合并到匯總表中。最后的結(jié)果如下圖所示。 “查詢”數(shù)據(jù),大家都想到可以用VLOOKUP函數(shù)來實(shí)現(xiàn),但這個(gè)問題中,我們只使用一個(gè)VLOOKUP函數(shù)是不能解決的,我們必須嵌套一個(gè)引用函數(shù)INDIRECT來實(shí)現(xiàn)跨工作表數(shù)據(jù)的匯總。 上一篇文章我們很詳細(xì)地講了VLOOKUP函數(shù)的使用方法,對這個(gè)函數(shù)不熟悉的可以看看我上篇文章?,F(xiàn)在跟大家先講講INDIRECT函數(shù)的基礎(chǔ)用法。 一、INDIRECT函數(shù)的使用。 INDIRECT函數(shù)主要是返回文本字符串所指定的引用。 語法:INDIRECT(ref_text, [a1])。 參數(shù)說明: ref_text:必需。 對包含A1樣式的引用、R1C1樣式的引用、定義為引用的名稱或?qū)卧竦囊米鳛槲谋咀址膯卧竦囊谩?如果ref_text不是有效的單元格引用, 則返回#REF!。 如果ref_text引用另一個(gè)工作簿 (外部引用), 則必須打開另一個(gè)工作簿。 如果原工作簿未打開, 則返回#REF!。 如果ref_text引用的單元格區(qū)域超出1048576的行限制或列限制16384,則返回#REF!錯(cuò)誤。 a1:可選。一個(gè)邏輯值,用于指定包含在單元格ref_text中的引用的類型。如果a1為TRUE或省略,ref_text被解釋為A1樣式的引用。如果a1為FALSE,則將ref_text解釋為R1C1樣式的引用。 有了對INDIRECT函數(shù)的基本了解,下面我們做這道題就很簡單了。 具體操作步驟如下: 1、打開匯總表 -- 選中B2單元格 -- 在編輯欄中輸入公式“=VLOOKUP(B$1,INDIRECT($A2&'!A:B'),2,0)”-- 按Enter鍵回車。 2、將鼠標(biāo)光標(biāo)移到B2單元格右下角出現(xiàn)“十”字符號(hào)時(shí)往右填充公式至G2單元格,往下填充公式至G13單元格。 3、完整的動(dòng)圖演示如下。 【公式解析】=VLOOKUP(B$1,INDIRECT($A2&'!A:B'),2,0) 第一個(gè)參數(shù)(B$1):要查找的值。我們這里要查找的是“姓名”對應(yīng)的每一個(gè)月的銷售提成,所以查找值為“姓名”。 第二個(gè)參數(shù)(INDIRECT($A2&'!A:B')):要查找的區(qū)域。以A2單元格為工作表的名稱,引用工作表中的A列和B列單元格區(qū)域。A列是姓名,B列是銷售提成。$A2&'!A:B'是一個(gè)文本函數(shù)。表示將A2單元格和 '!A:B' 這個(gè)字符串聯(lián)合起來,組成一個(gè)新字符串。A2單元格中的內(nèi)容為“1月”,和 '!A:B' 這個(gè)字符串組合后就變成 '1月!A:B' 。所以INDIRECT($A2&'!A:B')這個(gè)公式就相當(dāng)于:=INDIRECT('1月!A:B') 第三個(gè)參數(shù)(2):返回?cái)?shù)據(jù)在查找區(qū)域的第幾列數(shù)。這里我們要返回的數(shù)據(jù)是“銷售提成”,銷售提成在查找區(qū)域中是B列,B列是第2列,所以是 2。 第四個(gè)參數(shù)(0):0表示精確查找,如果省略這個(gè)參數(shù)的話,默認(rèn)是模糊查找。精確查找也可以寫成FALSE。 上述公式簡單地理解就是:以A2單元格的名稱為工作表的名稱,在這張表的A:B區(qū)域中精確查找B1的值,并返回B列的結(jié)果。 學(xué)會(huì)了兩個(gè)函數(shù)的組合,工作中真的減少了我很多時(shí)間,以前用半個(gè)鐘才可以完成的工作,現(xiàn)在幾分鐘就搞定了,多學(xué)幾個(gè)小技巧確實(shí)有用。幫忙點(diǎn)個(gè)贊轉(zhuǎn)發(fā)一下唄~ |
|