文:傲看今朝 一、什么是Indirect函數(shù)?Indirect函數(shù)稱之為間接引用函數(shù),間接引用當(dāng)然是直接引用而言的。直接引用非常簡單,我在任意一個(gè)單元格輸入公式:“=a1”,那么將得到A1單元格的值。而間接引用則完全不同。如果我想通過間接引用函數(shù)返回a1單元格的值,我輸入的公式為:=indirect('a1',1),這樣才能得到A1的值。那么間接引用的優(yōu)勢是是什么呢?文章開頭我已經(jīng)說了答案了,那就是非常靈活,大家注意到indirect函數(shù)的參數(shù)加了引號(hào),表示是文本。既然是文本,我們就可以靈活地編輯引用地址。這一點(diǎn)是直接引用做不到的。下面簡單來看一下這個(gè)函數(shù)吧: indirect函數(shù) 例如:在下圖中,我們輸入“=indirect('d1')”,公式將會(huì)直接計(jì)算d1單元格的值,也就是a1;而如果我們輸入“=indirect(d1)”,公式將直接引用D1單元格的內(nèi)容“a1”,然后再返回'a1'單元格的值,最后得到的結(jié)果就是“indirect函數(shù)”(簡單來說計(jì)算了2次,第一次:由“=indirect(d1)”得到“=indirect('a1')”;第二次:由“=indirect('a1')”得到最終的值“indirect函數(shù)”) indirect函數(shù)案例 indirect函數(shù)如此靈活,在工作中我們?nèi)绾稳?yīng)用,下面我們先來看一個(gè)簡單案例。 二、利用Indirect函數(shù)跨表統(tǒng)計(jì)工資如下圖所示,如何匯總不同sheet中的工資總額匯總到下表中呢?2010年到2012年三個(gè)sheet中的表格結(jié)構(gòu)完全一樣,如下圖中右下角表格所示。 源數(shù)據(jù) 很多同學(xué)可能會(huì)想到把這三張表全部復(fù)制粘貼到一個(gè)sheet里在進(jìn)行統(tǒng)計(jì),然而在sheet很多的情況下,通過這樣的辦法效率實(shí)在是太低。毫不夸張地說,你有可能花上一個(gè)小時(shí)都干不完的活,Excel高手一條公式一分鐘都要不了就搞定了。下面我們來看看利用Indirect函數(shù)來做。 思路:首先得到每個(gè)sheet的B列,然后外層嵌套一個(gè)sum函數(shù)求和即可得到每年的匯總了。公式如下:
向下拖拽公式,輕松完成個(gè)sheet的統(tǒng)計(jì)。 indirect函數(shù),直接引用a12得到sheet的名稱,使用“&”鏈接上“!b:b”,引用的是X表格B列的區(qū)域,外加一個(gè)sum函數(shù)即可匯總每年的銷售總額。 三、利用indirect函數(shù)快速做數(shù)據(jù)表轉(zhuǎn)置還是先來看看咱們的需求,如何將左側(cè)表格快速轉(zhuǎn)化右側(cè)表格的樣式呢?方法有很多,包括利用咱們之前介紹過的index函數(shù)都可以輕松做出來,下面我們來介紹如何利用Indirect函數(shù)來做。 從左邊的樣式到右邊的樣式 思路: 1.要得到右側(cè)的表格的樣式,我希望將左側(cè)表格的每一個(gè)單元格名稱直接放在右側(cè)表中,如下圖所示: 首先我們想辦法得到這樣的引用樣式 如何得到這樣的樣式呢?由于我們是由一列變成多行多列,因此列號(hào)不變,都是A,唯一變的是行號(hào)。我們要思考的是當(dāng)我們向右填充公式時(shí),行號(hào)能夠從左向右依次增大(1,2,3,4……),向下填充公式時(shí),行號(hào)能夠以等差數(shù)列的方式增大(0,4,8,12)?針對(duì)第一個(gè)需求,我們可以用公式“=column(a1)”來做,針對(duì)第二個(gè)需求,我們可以用這樣一個(gè)公式“=(row(a1)-1)*4”來實(shí)現(xiàn),因此要得到上圖中的地址,我們可以利用如下的公式得到:
2.在我們得到單元格地址外層嵌套一個(gè)indirect函數(shù)即可得到咱們右側(cè)圖表的樣式了。最終公式為:
一條公式搞定 輕松搞定了一列變多列的數(shù)據(jù)轉(zhuǎn)置了吧? 四、利用Indirect函數(shù)做多表數(shù)據(jù)條件匯總如下圖所示,如何快速統(tǒng)計(jì):2010年到2012年這三年中,業(yè)績超過150萬的人數(shù)? 每個(gè)sheet的表格結(jié)構(gòu)都和上圖右下角的一致 思路: 首先利用indirect函數(shù)得到所有sheetB列的數(shù)據(jù),下一步利用countif函數(shù)進(jìn)行人數(shù)統(tǒng)計(jì)就可以了。 1.這個(gè)引用唯一的變量是表格(年份數(shù)字是變量)名稱,我們可以利用函數(shù)row得到:=row(2010:2012)。因此我們的indirect函數(shù)可以這樣寫:
2.接下來就簡單了,在完成嵌套一個(gè)countif函數(shù)就可以完成條件計(jì)數(shù)的匯總了。最終公式如下:
|
|