1、 OFFSET函数介绍
用途:以指定的单元格为参照,通过给定偏移量得到新的单元格或单元区域。
语法:OFFSET(reference,rows,cols,height, width)。
参数:
Reference:是作为参照标准的单元格。
Rows:是相对于标准单元格的上(下)偏移的行数,并以此作为返回单元区域的左上角单元格地址的行数。如果使用5 作为参数Rows,则表示该函数返回的单元区域的左上角起始单元格比标准单元格下行5 行。行数可为正数(代表在下方)或负数(代表在上方)。
Cols :是相对于标准单元格的左(右)偏移的列数,并以此作为返回单元区域的左上角单元格地址的列数。如果使用5 作为参数COLs,则表示该函数返回的单元区域的左上角起始单元格比标准单元格右行5列。列数可为正数(代表在右方)或负数(代表在左方)。
Height 是要返回的单元区域的行数, 必须为正数。
Width 是要返回的单元区域的列数, 必须为正数。
HEIGHT和WIDTH这两个参数是可选参数,可以不输入,不输入就表示返回的是一个单元格而非一个单元区域。
实例:请在一个空白 Excel 工作表中输入以下数据。这些数据将用于本文中的所有示例公式。收起该表格展开该表格
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为标准单元格,向下行两行,向左行一列的单元格作为返回单元区域的左上角起始单元格(B4),并以B4为开始,返回一个下行一行,右行一列的单元区域(b4:c5)。
2、 COUNTA函数介绍
用途:返回参数列表中非空值的单元格个数。
语法:COUNTA(value1,value2,...)
参数:
Value1, value2:表示单元区域
实例:
=COUNTA(A2:A8),统计从A2:A8单元区域中有多少单元格不是空的。
3、 结合使用
我们在程序设计中,经常设计一些编码型的列,如:部门编码列、职员姓名列等。这些列的内容在程序的其他地方或其他表单上频繁使用,但随着企业的发展,这些列的内容又经常在发生变动(增加、删除和修改等),如何处理这种情况呢?
我们使用OFFSET函数和COUNTA函数结合,比较方便的处理这个问题。、
如,我们现在有一列是部门名称列,处于表单的A列上,即第一列,如图:
从该函数可以看出,这个名字的返回值是以A2为单元区域的起始单元格,以A列的非空单元数值(5)-1=4为单元区域的行数(因为A1的部门名称是字段名,不能作为字段内容使用,所以要减1),单列(1)区域,即目前的结果是(A2:A5)。
最后,选择D2单元格,使用数据菜单下的数据有效性设置该单元格,如图:
设置完毕后,我们可以通过下拉列表选择部门名称来输入D2单元各,而且,以后部门名称改变后,下拉列表的内容也自动变化。如图: