INDEX函式用於交叉引用查詢資料,它返回指定的行與列交叉處的單元格數值,有引用形式和陣列形式兩種用法,引用形式可以有多個不連續的區域,陣列形式通常返回數值或數值陣列,下面來說一下它們的具體用法。方法/步驟如上圖,應用index函式查詢某一貨物所在的庫位及數量。在index引用形式下,其語法格式為:INDEX(reference,row_num,column_num,area_num) reference是對一個或多個單元格區域的引用,如本例,只引用了一個單元格區域A2:D9,也就是要查詢的區域範圍,Row_num 所在區域的行號,Column_num所在區域的列號,如本例中兩個公式所示。如上圖,在這個例子中,公式用到了INDEX函式的第4個引數:area_num,它指的是:選擇引用中第幾個區域,如本例中,A15=INDEX((A2:D9,C2:D9),4,2,2),引用中有兩個區域,分別是:A2:D9和C2:D9,area_num設定的是2,即引用第二個區域:C2:D9,它表明要返第2個區域中row_num和column_num的交叉處的數值。選中或輸入的第一個區域序號為1,第二個為2,以此類推。如果省略area_num,則函式INDEX使用區域1。注意:多個區域應用()括起來。其實要實現這一功能,可以用VLOOKUP函式代替。下面來說一下INDEX函式的陣列形式。語法格式:INDEX(array,row_num,column_num)Array 為單元格區域或陣列常量。如果陣列只包含一行或一列,則相對應的引數row_num或column_num為可選引數。如果陣列有多行和多列,但只使用row_num或column_num,函式INDEX返回陣列中的整行或整列,且返回值也為陣列。Row_num 陣列中某行的行號,函式從該行返回數值。如果省略row_num,則必須有column_num。Column_num 陣列中某列的列標,函式從該列返回數值。如果省略column_num,則必須有row_num。如上圖:用到的即是INDEX的陣列形式,查詢庫區A內貨物的明細資訊。公式解析:B15=INDEX(B2:E9,IF(E2:E9=B11,ROW(E2:E9)-1,65535),1)首先這是一個數組公式,寫完函式應用shift+ctrl+enter三鍵輸入!IF(E2:E9=B11,ROW(E2:E9)-1,65535),指如果庫位與B11中一致,則顯示為該行所在行號並減1,因為表格有表頭佔用了第一行,因此就要減去1,如果庫位不同就顯示65535。因此IF函式返回的結果是{1,2,3,4,65535,65535,65535,65535}INDEX(B2:E9,IF(E2:E9=B11,ROW(E2:E9)-1,65535),1) 把區域B2:E9,中第1,2,3,4行第1列的數值顯示出來,就得到了結果由於65535中無數值因此後面的都顯示錯誤。其它2個公式類同。
INDEX函式用於交叉引用查詢資料,它返回指定的行與列交叉處的單元格數值,有引用形式和陣列形式兩種用法,引用形式可以有多個不連續的區域,陣列形式通常返回數值或數值陣列,下面來說一下它們的具體用法。方法/步驟如上圖,應用index函式查詢某一貨物所在的庫位及數量。在index引用形式下,其語法格式為:INDEX(reference,row_num,column_num,area_num) reference是對一個或多個單元格區域的引用,如本例,只引用了一個單元格區域A2:D9,也就是要查詢的區域範圍,Row_num 所在區域的行號,Column_num所在區域的列號,如本例中兩個公式所示。如上圖,在這個例子中,公式用到了INDEX函式的第4個引數:area_num,它指的是:選擇引用中第幾個區域,如本例中,A15=INDEX((A2:D9,C2:D9),4,2,2),引用中有兩個區域,分別是:A2:D9和C2:D9,area_num設定的是2,即引用第二個區域:C2:D9,它表明要返第2個區域中row_num和column_num的交叉處的數值。選中或輸入的第一個區域序號為1,第二個為2,以此類推。如果省略area_num,則函式INDEX使用區域1。注意:多個區域應用()括起來。其實要實現這一功能,可以用VLOOKUP函式代替。下面來說一下INDEX函式的陣列形式。語法格式:INDEX(array,row_num,column_num)Array 為單元格區域或陣列常量。如果陣列只包含一行或一列,則相對應的引數row_num或column_num為可選引數。如果陣列有多行和多列,但只使用row_num或column_num,函式INDEX返回陣列中的整行或整列,且返回值也為陣列。Row_num 陣列中某行的行號,函式從該行返回數值。如果省略row_num,則必須有column_num。Column_num 陣列中某列的列標,函式從該列返回數值。如果省略column_num,則必須有row_num。如上圖:用到的即是INDEX的陣列形式,查詢庫區A內貨物的明細資訊。公式解析:B15=INDEX(B2:E9,IF(E2:E9=B11,ROW(E2:E9)-1,65535),1)首先這是一個數組公式,寫完函式應用shift+ctrl+enter三鍵輸入!IF(E2:E9=B11,ROW(E2:E9)-1,65535),指如果庫位與B11中一致,則顯示為該行所在行號並減1,因為表格有表頭佔用了第一行,因此就要減去1,如果庫位不同就顯示65535。因此IF函式返回的結果是{1,2,3,4,65535,65535,65535,65535}INDEX(B2:E9,IF(E2:E9=B11,ROW(E2:E9)-1,65535),1) 把區域B2:E9,中第1,2,3,4行第1列的數值顯示出來,就得到了結果由於65535中無數值因此後面的都顯示錯誤。其它2個公式類同。