Excel高手必備的最爲靈活實用的引用函數:Indirect

 
 
 

Excel高手必備的最爲靈活實用的引用函數:Indirect

 

1、什麼是Indirect函數?

Indirect函數稱之爲間接引用函數,間接引用固然是直接引用而言的。直接引用很是簡單,我在任意一個單元格輸入公式:「=a1」,那麼將獲得A1單元格的值。而間接引用則徹底不一樣。若是我想經過間接引用函數返回a1單元格的值,我輸入的公式爲:=indirect('a1',1),這樣才能獲得A1的值。那麼間接引用的優點是是什麼呢?文章開頭我已經說了答案了,那就是很是靈活,你們注意到indirect函數的參數加了引號,表示是文本。既然是文本,咱們就能夠靈活地編輯引用地址。這一點是直接引用作不到的。下面簡單來看一下這個函數吧:函數

Excel高手必備的最爲靈活實用的引用函數:Indirect

indirect函數3d

例如:在下圖中,咱們輸入「=indirect('d1')」,公式將會直接計算d1單元格的值,也就是a1;而若是咱們輸入「=indirect(d1)」,公式將直接引用D1單元格的內容「a1」,而後再返回'a1'單元格的值,最後獲得的結果就是「indirect函數」(簡單來講計算了2次,第一次:由「=indirect(d1)」獲得「=indirect('a1')」;第二次:由「=indirect('a1')」獲得最終的值「indirect函數」)blog

Excel高手必備的最爲靈活實用的引用函數:Indirect

indirect函數案例table

indirect函數如此靈活,在工做中咱們如何去應用,下面咱們先來看一個簡單案例。class

2、利用Indirect函數跨表統計工資

以下圖所示,如何彙總不一樣sheet中的工資總額彙總到下表中呢?2010年到2012年三個sheet中的表格結構徹底同樣,以下圖中右下角表格所示。效率

Excel高手必備的最爲靈活實用的引用函數:Indirect

源數據變量

不少同窗可能會想到把這三張表所有複製粘貼到一個sheet裏在進行統計,然而在sheet不少的狀況下,經過這樣的辦法效率實在是過低。絕不誇張地說,你有可能花上一個小時都幹不完的活,Excel高手一條公式一分鐘都要不了就搞定了。下面咱們來看看利用Indirect函數來作。引用

思路:首先獲得每一個sheet的B列,而後外層嵌套一個sum函數求和便可獲得每一年的彙總了。公式以下:方法

=SUM(INDIRECT(A12&'!B:B'))im

向下拖拽公式,輕鬆完成個sheet的統計。

indirect函數,直接引用a12獲得sheet的名稱,使用「&」連接上「!b:b」,引用的是X表格B列的區域,外加一個sum函數便可彙總每一年的銷售總額。

3、利用indirect函數快速作數據錶轉置

仍是先來看看我們的需求,如何將左側表格快速轉化右側表格的樣式呢?方法有不少,包括利用我們以前介紹過的index函數均可以輕鬆作出來,下面咱們來介紹如何利用Indirect函數來作。

Excel高手必備的最爲靈活實用的引用函數:Indirect

從左邊的樣式到右邊的樣式

思路:

1.要獲得右側的表格的樣式,我但願將左側表格的每個單元格名稱直接放在右側表中,以下圖所示:

Excel高手必備的最爲靈活實用的引用函數:Indirect

首先咱們想辦法獲得這樣的引用樣式

如何獲得這樣的樣式呢?因爲咱們是由一列變成多行多列,所以列號不變,都是A,惟一變的是行號。咱們要思考的是當咱們向右填充公式時,行號可以從左向右依次增大(1,2,3,4……),向下填充公式時,行號可以以等差數列的方式增大(0,4,8,12)?針對第一個需求,咱們能夠用公式「=column(a1)」來作,針對第二個需求,咱們能夠用這樣一個公式「=(row(a1)-1)*4」來實現,所以要獲得上圖中的地址,咱們能夠利用以下的公式獲得:

='A'&33+column(a1)+(row(a1)-1)*4

2.在咱們獲得單元格地址外層嵌套一個indirect函數便可獲得我們右側圖表的樣式了。最終公式爲:

=indirect(='A'&33+column(a1)+(row(a1)-1)*4)

Excel高手必備的最爲靈活實用的引用函數:Indirect

一條公式搞定

輕鬆搞定了一列變多列的數據轉置了吧?

4、利用Indirect函數作多表數據條件彙總

以下圖所示,如何快速統計:2010年到2012年這三年中,業績超過150萬的人數?

Excel高手必備的最爲靈活實用的引用函數:Indirect

每一個sheet的表格結構都和上圖右下角的一致

思路:

首先利用indirect函數獲得全部sheetB列的數據,下一步利用countif函數進行人數統計就能夠了。

1.這個引用惟一的變量是表格(年份數字是變量)名稱,咱們能夠利用函數row獲得:=row(2010:2012)。所以咱們的indirect函數能夠這樣寫:

=indirect(row(2010:2012)&'年!b:b')

2.接下來就簡單了,在完成嵌套一個countif函數就能夠完成條件計數的彙總了。最終公式以下:

{=COUNTIF(INDIRECT(ROW(2010:2012)&'年!b:b'),'>150')}

相關文章
相關標籤/搜索