1. 程式人生 > >EXCEL公式及函式的高階應用(5)

EXCEL公式及函式的高階應用(5)

 

2.1.2.9  INDEX函式

INDEX函式的功能是返回表格或區域中的數值或對數值的引用。INDEX函式有以下兩種形式:

1.返回陣列中指定單元格或單元格陣列的數值。公式為

= INDEX(array,row_num,column_num)  

式中  array—單元格區域或陣列常數;

row_num—陣列中某行的行序號,函式從該行返回數值。如果省略row_num,則必須有 column_num

column_num—陣列中某列的列序號,函式從該列返回數值。如果省略column_num,則必須有 row_num

需要注意的是:如果同時使用 row_num column_num,函式

INDEX 返回 row_num column_num 交叉處的單元格的數值。如果陣列只包含一行或一列,則相對應的引數row_num column_num為可選。如果陣列有多行和多列,但只使用row_num column_num,函式INDEX返回陣列中的整行或整列,且返回值也為陣列。如果將row_numcolumn_num設定為0,函式INDEX則分別返回整個列或行的陣列數值。如果需要使用以陣列形式返回的數值時,請在一個水平單元格區域中將函式INDEX作為陣列公式輸入。此外,row_numcolumn_num必須指向array中的某一單元格,否則,函式INDEX返回錯誤值#REF!

例如:INDEX({1,2;3,4},2,2) = 4。如果作為陣列公式輸入,則:INDEX({1,2;3,4},0,2) = {2;4}

2.返回引用中指定單元格。公式為

INDEX(reference,row_num,column_num,area_num)

式中  reference—對一個或多個單元格區域的引用;

如果為引用輸入一個不連續的選定區域,必須用括號括起來。如果引用中的每個區域只包含一行或一列,則相應的引數row_numcolumn_num分別為可選項。例如,對於單行的引用,可以使用函式INDEX(reference,column_num)

row_num—引用中某行的行序號,函式從該行返回一個引用;

column_num—引用中某列的列序號,函式從該列返回一個引用;

area_num—選擇引用中的一個區域,並返回該區域中row_numcolumn_num的交叉區域。選中或輸入的第一個區域序號為1,第二個為2,以此類推。如果省略area_num,函式INDEX使用區域1

說明row_numcolumn_numarea_num必須指向reference中的單元格,否則,函式INDEX返回錯誤值#REF!。如果省略row_numcolumn_num,函式INDEX返回由area_num所指定的區域。

函式INDEX的結果為一個引用,且在其他公式中也被解釋為引用。根據公式的需要,函式INDEX的返回值可以作為引用或是數值。例如公式 CELL("width",INDEX(A1:B2,1,2))等價於公式CELL("width",B1)CELL函式將函式INDEX的返回值作為單元格引用。而在另一方面,公式2*INDEX(A1:B2,1,2)將函式INDEX的返回值解釋為B1單元格中的數字。

2.1.2.10  ADDRESS函式

ADDRESS函式的功能是按照給定的行號和列標,建立文字型別的單元格地址。公式為

= ADDRESS(row_num,column_num,abs_num,a1,sheet_text)

式中  row_num—在單元格引用中使用的行號;

column_num—在單元格引用中使用的列標;

abs_num—指明返回的引用型別,其中:當為1或省略時為絕對引用,當為2時為絕對行號,相對列標,當為3時為相對行號,絕對列標,當為4時為相對引用;

a1—用以指明A1R1C1引用樣式的邏輯值。如果A1TRUE或省略,函式ADDRESS返回A1樣式的引用,如果A1FALSE,函式ADDRESS返回R1C1樣式的引用;

sheet_text—一文字,指明作為外部引用的工作表的名稱,如果省略sheet_text,則不使用任何工作表名。

例如,ADDRESS(2,3)等於“$C$2”;ADDRESS(2,3,2)等於“C$2”。

2.1.2.11  INDIRECT函式

INDIRECT函式的功能是返回由文字串指定的引用。此函式立即對引用進行計算,並顯示其內容。當需要更改公式中單元格的引用,而不更改公式本身時,可使用此函式。公式為

= INDIRECT(ref_text,a1)

式中  ref_text—對單元格的引用,此單元格可以包含A1樣式的引用、R1C1樣式的引用、定義為引用的名稱或對文字串單元格的引用,如果ref_text不是合法的單元格的引用,函式INDIRECT返回錯誤值#REF!

a1—一邏輯值,指明包含在單元格ref_text中的引用的型別,如果a1TRUE或省略,ref_text被解釋為A1樣式的引用,如果a1FALSEref_text被解釋為R1C1樣式的引用。

需要注意的是,如果ref_text是對另一個工作簿的引用(外部引用),則那個工作簿必須被開啟。如果源工作簿沒有開啟,函式INDIRECT返回錯誤值 #REF!

例如:如果單元格A1包含文字"B2",且單元格B2包含數值1.333,則:INDIRECT($A$1)=1.333

上述介紹的幾個查詢函式LOOKUPVLOOKUPHLOOKUPMATCHINDEXADDRESSINDIRECT等在財務分析與決策、預測及建立動態圖表等中是非常有用的。

<SCRIPT src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript> </SCRIPT> <SCRIPT src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript> </SCRIPT>