INDEX函數用于返回表或區域中的值或值的引用,該函數包含數組和引用兩種格式。其數組形式返回指定單元格或單元格數組的值,引用形式返回指定單元恪的引用。
★數組形式
數組形式返回表格或數組中的元素值,此元素由行序號和列序號的索引值給定。一般情況下,當函數INDEX的第一個參數為數組常量時,就使用數組形式。其表達式為:
INDEX(array,row_num,column_num)
其中,參數array為單元格區域或數組常量;參數row_num是數組中某行的行號,函數從該行返回數值,參數column_num為數組中某列的列標, 函數從該列返回數值。
對于參數array來說:
●如果數組只包含一行或一列,則相對應的參數row_num 或column_num為可選參數。
●如果數組有多行和多列, 但只使用row_num 或column_num,函數返回數組中的整行或整列,且返回值也為數組。
在使用該函數的數組形式的時候,還需要注意以下幾點:
●參數row_num 或column_num至少要設置1個,即如果省略了參數row_num,則必須有column_num;反之,如果省略column_num,則必須有row_num。
●如果同時使用參數row_num和column_num,函數將返回參數row_num和column_num交叉處的單元格中的值。
●參數row_num和column_num必須指向數組中的一個單元格,否則,函數將返回錯誤值#REF!。
●如果將row_num 或column_num設為0, 函數將分別返回整列或整行的數組數值。若要使用以數組形式返回的值,需要將函數以數組公式形式輸入。
例如:下列公式將返回C1:D7單元格區域中第一行第2列的單元格的內容。
=INDEX(C1:D7,1,2)
★引用形式
引用形式返回指定的行與列交叉處的單元格引用。如果引用由不連續的選定區域組成,則可以選擇某一選定區域。引用形式的表達式為:
INDEX(reference,row_num,column_num,area_num)
參數reference為對一個或多個單元格區域的引用,當然也可以是單元格區域的名稱,如果引用的是-個不連續的區域,則必須將其用括號括起來;參數row-num和column_num分別用于設置返回的行號和列號,這兩個參數至少要設置1個;參數area_num用于選擇引用中多個區域中的一個,返回該區域中row_num 和column_num的交叉區域,設置為1,表示第一個區域;設置為2表示第二個區域。例如,引用單元格區域為(A1:B4,D1:E4,G1:H4),則area_num為1,表示區域A1:B4,area_num為2,表示區域D1:E4。
例如公式“=INDEX((A1:C6,A8:C11),1,2,2)”的含義和結果。
在這個公式中,參數reference的值是(A1:C6,A8:C11),即它由兩個區域組成。參數area_num的值為2,即選取其中的第二個區域,即A8:C11。然后求這個區域內第一行第二列的值,即返回的是單元格B8的值。