1、 OFFSET函數(shù)介紹
用途:以指定的單元格為參照,通過給定偏移量得到新的單元格或單元區(qū)域。
語法:OFFSET(reference,rows,cols,height, width)。
參數(shù):
Reference:是作為參照標準的單元格。
Rows:是相對于標準單元格的上(下)偏移的行數(shù),并以此作為返回單元區(qū)域的左上角單元格地址的行數(shù)。如果使用5 作為參數(shù)Rows,則表示該函數(shù)返回的單元區(qū)域的左上角起始單元格比標準單元格下行5 行。行數(shù)可為正數(shù)(代表在下方)或負數(shù)(代表在上方)。
Cols :是相對于標準單元格的左(右)偏移的列數(shù),并以此作為返回單元區(qū)域的左上角單元格地址的列數(shù)。如果使用5 作為參數(shù)COLs,則表示該函數(shù)返回的單元區(qū)域的左上角起始單元格比標準單元格右行5列。列數(shù)可為正數(shù)(代表在右方)或負數(shù)(代表在左方)。
Height 是要返回的單元區(qū)域的行數(shù), 必須為正數(shù)。
Width 是要返回的單元區(qū)域的列數(shù), 必須為正數(shù)。
HEIGHT和WIDTH這兩個參數(shù)是可選參數(shù),可以不輸入,不輸入就表示返回的是一個單元格而非一個單元區(qū)域。
實例:請在一個空白 Excel 工作表中輸入以下數(shù)據(jù)。這些數(shù)據(jù)將用于本文中的所有示例公式。收起該表格展開該表格
A1:Name
|
B1:Dept
|
C1:Age
|
A2:Henry
|
B2:501
|
C2:28
|
A3:Stan
|
B3:201
|
C3:19
|
A4:Mary
|
B4:101
|
C4:22
|
A5:Larry
|
B5:301
|
C5:29
|
在單元格 E2(或任何可用的空單元格)中輸入以下公式: =OFFSET(C2,2,-1,1,1)則表示以C2為標準單元格,向下行兩行,向左行一列的單元格作為返回單元區(qū)域的左上角起始單元格(B4),并以B4為開始,返回一個下行一行,右行一列的單元區(qū)域(b4:c5)。
2、 COUNTA函數(shù)介紹
用途:返回參數(shù)列表中非空值的單元格個數(shù)。
語法:COUNTA(value1,value2,...)
參數(shù):
Value1, value2:表示單元區(qū)域
實例:
=COUNTA(A2:A8),統(tǒng)計從A2:A8單元區(qū)域中有多少單元格不是空的。
3、 結合使用
我們在程序設計中,經(jīng)常設計一些編碼型的列,如:部門編碼列、職員姓名列等。這些列的內(nèi)容在程序的其他地方或其他表單上頻繁使用,但隨著企業(yè)的發(fā)展,這些列的內(nèi)容又經(jīng)常在發(fā)生變動(增加、刪除和修改等),如何處理這種情況呢?
我們使用OFFSET函數(shù)和COUNTA函數(shù)結合,比較方便的處理這個問題。、
如,我們現(xiàn)在有一列是部門名稱列,處于表單的A列上,即第一列,如圖:
從該函數(shù)可以看出,這個名字的返回值是以A2為單元區(qū)域的起始單元格,以A列的非空單元數(shù)值(5)-1=4為單元區(qū)域的行數(shù)(因為A1的部門名稱是字段名,不能作為字段內(nèi)容使用,所以要減1),單列(1)區(qū)域,即目前的結果是(A2:A5)。
最后,選擇D2單元格,使用數(shù)據(jù)菜單下的數(shù)據(jù)有效性設置該單元格,如圖:
設置完畢后,我們可以通過下拉列表選擇部門名稱來輸入D2單元各,而且,以后部門名稱改變后,下拉列表的內(nèi)容也自動變化。如圖: