配色: 字号:
indirect函数在excel中的应用
2015-07-20 | 阅:  转:  |  分享 
  
Indirect函数在excel中的应用

返回由文本字串指定的引用。此函數立即對引用進行計算,並顯示其內容。?INDIRECT(ref_text,a1)?Ref_text爲對單格的引用,此單格可以包含A1-樣式的引用、R1C1-樣式的引用、定義爲引用的名稱或對文本字串單格的引用。如果ref_text不是合法的單格的引用,函數INDIRECT返回錯誤值#REF!。?當在創建公式時,對某個特定單格進行了引用。如果使用“剪切”命令,或是插入或刪除行或列使該單格發生了移動,則單格引用將被更新。如果需要使得無論單格上方的行是否被刪除或是單格是否移動,都在公式保持相同的單格引用,請使用INDIRECT工作表函數。例如,如果需要始終對單格A10進行引用,請使用下面的語法:?=INDIRECT("A10")?=indirect(A10)?=indirect($A$10)?沒有本質的區別!前者相對引用後者絕對引用!?但如果A10單格上的數值爲非法引用!則返回#REF!?舉例:?如果A10單格上的數值爲B10,再B10單格上寫著1那麽將返回B10單格的內容1?如果A10上的數值爲10,則返回#REF!?=indirect("A10")?直接返回A10單格上的數值?如果A10單格上的數值爲B10,那麽將返回B10字元?如果A10上的數值爲10,則返回10?還有一點要補充的是:?如果在第十行前插入一行,?=indirect($a$10)就變成了=indirect($a$11)?=indirect(a10)就變成了=indirect(a11)?而=indirect("a10")無論在前面插入幾行,都始終引用a10這一格的值。?indirect()的參數必須是一個文本,該文本必須是一個引用位址。?=indirect("A10")中,"A10"是一個文本,"A10"表示一個單格的引用,indirect("A10")它返回的是A10單格的內容。?=indirect(A10)?=indirect($A$10)?兩個公式相同,參數引用A10單格內容,假如A10單格爲"F21",則:?indirect(A10)相當於:?indirect("F21")?它返回F21單格的資料。首先給想要indirect的區域命名,比如把A1至A10的區域都選中,並命名爲rng1,然後使用=indirect(rng1)就可以了。這個命令一般用在下拉清單的資料來源中。例如:如果變數X值包含在行A1:A100中,如何在指定單格中顯示與X值相對應的BX、CX、DX等內容。假使X=35,在E5單格顯示B35值;E6單格顯示C35值?操作成功!?E1輸入變數X值?E5的公式如下:=INDIRECT(IF(ISERROR(LOOKUP(E1,A1:A100)),"無法查找",ADDRESS(E1,3,4)))?其他類推!在MicrosoftExcel,INDIRECT工作表函數返回指定引用的內容並顯示其內容。INDIRECT工作表函數可用於創建鏈結引用到其他工作簿。可單獨使用INDIRECT函數來創建用戶定義動態引用使用工作表單格引用作爲初始資訊引用每個屬性的引用(工作簿名稱、工作表名稱和單格引用)。?回到頂端更多資訊INDIRECT函數將只返回結果對已打開文件的引用。如果關閉(未打開記憶體中),間接引用函數INDIRECT工作簿函數將返回#REF!錯誤。?以下示例創建對工作簿工作簿、工作表和單格鏈結將初始三不同單元資訊用作引用引用。回到頂端示例11.Book1,Sheet1中單格A1類型:"這是一個測試"(不帶引號)。??2.Book2,Sheet1中單格A1類型:"Book1"(不帶引號)。??3.Book2,Sheet1中單格A2類型:"Sheet1"(不帶引號)。??4.Book2,Sheet1中單格A類型:"A1"(不帶引號)。??5.保存兩個工作簿。??6.Book2,Sheet1中單格B1鍵入以下公式:?=INDIRECT("''["&A1&".xls]"&A2&"''!"&A)?注意:對於MicrosoftExcelfortheMacintosh,省略從公式,作爲在以下示例".xls":?=INDIRECT("''["&A1&"]"&A2&"''!"&A)??回到頂端例2可以交替使用多INDIRECT語句如下編寫示例1中公式:?=INDIRECT("''["&INDIRECT("A1")&".xls]"&INDIRECT("A2")"!&"''&INDIRECT("A3"))?注意:對於MicrosoftExcelfortheMacintosh,省略從公式,作爲在以下示例".xls":?=INDIRECT("''["&INDIRECT("A1")&"]"&INDIRECT("A2")"!&"''&INDIRECT("A3"))?注意區別引用單格中。示例2引用使用引號引用單格時不用引號,1示例引用單格A1、A2和A。?INDIRECT函數,中不使用引號引用單格計算結果的單格引用。例如,如果單格A1包含文本"B1"並包含單詞"TEST",B1公式=INDIRECT(A1)返回結果"TEST"。引用單格帶引號返回結果的單格內容。在以前句示例中公式將返回文本字串"B1"並沒有內容的單格B1。要點之一:INDIRECT()函數的第一個參數爲一個文本,一個表示單格位址的文本。要點之二:Excel對單格有兩種引用樣式,一種爲A1引用樣式,一種爲R1C1引用樣式。當使用A1引用樣式時,INDIRECT()函數第二個參數須指定爲TRUE或省略它。當使用R1C1引用樣式時,INDIRECT()的第二個參數須指定爲FALSE。INDIECT("F5"),與INDIRECT("F5",TRUE),與INDIRECT("R5C6",FALSE)返回同一個單格的引用。有朋友問,什麽時候要用INDIRECT()?爲什麽要用INDIRECT()?舉個簡單的例子:如果B2:B10單格分別要引用Sheet2:Sheet10工作表的F6單格,則公式分別爲:B2=Sheet2!F6B3=Sheet3!F6……B10=Sheet10!F6這些公式不能使用填充的辦法輸入,只能手工一個一個編輯修改。用什麽辦法可以快速填充?首行寫入公式:B2="Sheet"&Row(2:2)&"!F6"拖動填充柄把公式向下填充,依次得到結果:Sheet2!F6Sheet3!F6……Sheet10!F6但它顯示的只是單格位址,不是單格引用。如果引用這些單格的值?在上面公式中,加入INDIRECT()函數就是:B2=INDIRECT("Sheet"&Row(2:2)&"!F6")

献花(0)
+1
(本文系梦回残秋200...首藏)