本文來源于www.contextures.com,由完美Excel翻譯,稍有補充和修改,特輯錄于此,分享與大家共同學(xué)習(xí)。 微信公眾賬號:excelperfect 什么情況下使用INDIRECT函數(shù)? INDIRECT函數(shù)返回由文本字符串指定的引用,可以用于:
INDIRECT函數(shù)語法 INDIRECT函數(shù)的語法如下:
INDIRECT陷阱
示例1:創(chuàng)建開始部分固定的引用 在第一個示例中,列C和列E有相同的數(shù)字,使用SUM函數(shù)求得的和也是相同的。然而,所使用的公式稍微有點不同。在單元格C8中,公式為: =SUM(C2:C7) 在單元格E8中,INDIRECT函數(shù)創(chuàng)建對開始單元格E2的引用: =SUM(INDIRECT('E2'):E7) 如果在列表的頂部插入一行,例如輸入January的數(shù)量,列C中的和不會改變,但公式發(fā)生了變化,根據(jù)被插入的行進行了調(diào)整: =SUM(C3:C8) 然而,INDIRECT函數(shù)鎖定開始單元格為E2,因此在E列的匯總單元格中會自動包括January的數(shù)量。結(jié)尾單元格改變了,但是開始單元格沒有受影響。 =SUM(INDIRECT('E2'):E8) 示例2:創(chuàng)建對靜態(tài)命名區(qū)域的引用 INDIRECT函數(shù)也可以創(chuàng)建對命名區(qū)域的引用。在本例中,藍色單元格區(qū)域被命名為NumList,在列B中也有一個基于該列的數(shù)值數(shù)的動態(tài)區(qū)域。 通過在SUM函數(shù)中使用區(qū)域名稱,每個單元格都能夠計算總和,正如在單元格E3和E4中所看到的。 =SUM(NumList)或 =SUM(NumListDyn) 代替在SUM公式中輸入名稱,可以指向工作表單元格區(qū)域名稱。例如,使用在單元格D7中顯示的名稱NumList,單元格E7中的公式是: =SUM(INDIRECT(D7)) 不巧的是,INDIRECT函數(shù)不能夠解決對動態(tài)區(qū)域的引用,因此當(dāng)公式向下復(fù)制到單元格E8中時,結(jié)果顯示#REF!錯誤。 示例3:從工作表、行、列信息創(chuàng)建引用 在INDIRECT函數(shù)中使用FALSE作為第二個參數(shù)容易創(chuàng)建基于行號和列號的引用。在本例中,創(chuàng)建R1C1樣式的引用,還包括了工作表名 — ‘MyLinks’!R2C2。 =INDIRECT('’'& B3 & '’!R' & C3 & 'C' & D3,FALSE) 示例4:創(chuàng)建固定的數(shù)值組 在一些公式中,需要一組數(shù)值,正如本例所示,我們想求列B中最大的3個數(shù)值的平均值。在公式中,可以輸入數(shù)值,如單元格D4中所示: =AVERAGE(LARGE(B1:B8,{1,2,3})) 如果需要更多的一組數(shù)值,那么可能不想輸入這些數(shù)值。此時,可以使用ROW函數(shù),如在單元格D5中使用的數(shù)組公式: =AVERAGE(LARGE(B1:B8,ROW(1:3))) 還可以將ROW函數(shù)和INDIRECT函數(shù)聯(lián)合使用,也是數(shù)組公式: =AVERAGE(LARGE(B1:B8,ROW(INDIRECT('1:3')))) 上述3個公式的結(jié)果相同。 然而,如果在工作表的頂部插入行,第二個公式返回不正確的結(jié)果,因為行數(shù)被調(diào)整了?,F(xiàn)在,顯示了第3、第4、第5個最大數(shù)值的平均值,而不是求最大的3個數(shù)值的平均值。 使用INDIRECT函數(shù),第3個公式保持正確的行引用,并繼續(xù)顯示正確的結(jié)果。 如果您對本文介紹的內(nèi)容有什么建議或好的示例,歡迎發(fā)送郵件給我:xhdsxfjy@163.com。 您也可以在本文下發(fā)表留言,留下您的足跡。 轉(zhuǎn)載本文請聯(lián)系我或者注明出處。
|
|