您的位置首页百科知识

Excel:OFFSET函数(上)

Excel:OFFSET函数(上)

的有关信息介绍如下:

Excel:OFFSET函数(上)

OFFSET函数是一个非常好玩的函数,无论是数据汇总,还是数透中获取动态数据区域,还是动态图表的制作等等,都能有它的身影,默默付出!函数定义:以指定的引用为参照系,通过给定偏移量返回新的引用。

1、返回单个单元格的引用

比如下图中厉致诚是怎么到达林浅的位置的

输入公式:=OFFSET(A2,2,2)

以A2单元格为参照

向下偏移2行到达A4单元格

向右偏移2列到达C4单元格

返回C4单元格内容“林浅”

2、返回单元格区域的引用

选中区域F2:G3单元格

输入公式:=OFFSET(A2,2,2,2,2)

三键结束

以A2单元格为参照

向下偏移2行到达A4单元格

向右偏移2列到达C4单元格

返回以C4单元格为起点2行2列的C4:D5单元格区域的引用。

3、求销售三部1-6月的总业绩

输入公式:

=SUM(OFFSET(B1:G1,MATCH(A8,A2:A5,0),))

MATCH(A8,A2:A5,0)部分找到“销售三部”在区域A2:A5中的位置3

那么公式OFFSET部分就是OFFSET(B1:G1,3,),

注意此处省略了OFFSET函数的第三参数(用逗号占位)

OFFSET部分是以单元格区域B1:G1为参照,向下偏移3行,偏移0列,返回新区域B4:G4单元格的引用

最后用SUM函数对B4:G4这个区域求和。

4、求所有部门1-6月的总业绩

输入公式:

=SUM(OFFSET(B1:G1,1,,4,6))

OFFSET(B1:G1,1,,4,6)部分是以单元格区域B1:G1为参照

向下偏移1行,到达区域B2:G2

偏移0列(省略了第三参数,用逗号占位)

返回行高为4,列宽为6的新区域B2:G5单元格的引用

最后用SUM函数对B2:G5这个区域求和。

5、多行多列转一列

输入公式:

=OFFSET($A$3,INT(ROW(A2)/2)-1,MOD(ROW(A2),2))&""

INT(ROW(A2)/2)-1下拉生成0,0,1,1,2,2…序列

MOD(ROW(A2),2) 下拉生成0,1,0,1,0,1…序列

D1公式:=OFFSET($A$3,0,0)&""

以A3单元格为参照,偏移0行0列,返回A3单元格内容“Excel”

公式下拉后依次为:

D2公式:=OFFSET($A$3,0,1)&""

以A3单元格为参照,偏移0行1列,返回B3单元格内容“教”

D3公式:=OFFSET($A$3,1,0)&""

以A3单元格为参照,偏移1行0列,返回A4单元格内容“程”

……以此类推

个人建议

如果rows和cols的偏移使引用超出了工作表边缘,则OFFSET返回错误值#REF!。如果省略height或width,则假设其高度或宽度与reference相同。OFFSET实际上并不移动任何单元格或更改选定区域,它只是返回一个引用;返回的引用可以是单个单元格或单元格区域,也可以指定要返回的行数和列数。OFFSET可以与任何期待引用参数的函数一起使用。