通常情況下,使用INDEX函數來獲取數據,其通用語法形式為:
=INDEX(array,row_num,column_num)
即,獲取參數row_num指定的行和參數column_num指定的列交叉的單元格中的數據。
INDEX函數常與MATCH函數配合使用,以構建強大的查找公式。
下圖1展示了INDEX函數的一些基本用法。
圖1
然而,INDEX函數不僅可以獲取單元格區域或數組中的數據,也可以獲取區域。
一鍵直達 Excel函數學習2:INDEX函數
使用INDEX函數獲取整列或整行
使用INDEX函數可以獲取查找的區域中的整列或者整行。要獲取區域中的整列,只需將參數row_num設置為0或為空,這意味著你想獲取該列中的所有行。同理,指定參數column_num為0或空將獲取整行。
例如,下圖2所示的工作表,使用INDEX函數獲取單元格區域D3:D16,從而對該區域中的數據求和:
=SUM(INDEX(B3:D16,,MATCH(“成績”,B2:D2,0)))
或:
=SUM(INDEX(B3:D16,0,MATCH(“成績”,B2:D2,0)))
圖2
使用INDEX函數創建動態區域
可以使用INDEX函數與COUNTA函數配合來創建動態區域,如下圖3所演示。
圖3
剛開始列表中的數據為單元格區域A2:C6。我們創建一個名為“Student”的動態命名區域。
在“名稱框”中輸入:Student
在“引用位置”框中輸入公式:
=Sheet2!$A$2:INDEX(Sheet2!$A:$C,COUNTA(Sheet2!$A:$A),3)
注意,此時公式中的INDEX(Sheet2!$A:$C,COUNTA(Sheet2!$A:$A),3)返回列C中最后一個數據單元格。
因此,當數據擴充至單元格C10時,名為“Student”的區域也自動擴展為A2:C10。
在下一篇文章中,我們將會看到使用INDEX函數、MATCH函數和COUNTA函數相配合,創建更加靈活的動態區域。