多语言展示
当前在线:1709今日阅读:75今日分享:44

EXCEL中OFFSET函数的实用技巧

EXCEL中有大量的函数,熟悉函数的用法,可以设计出许多实用的公式,大幅提高办公效率。本篇主要介绍下OFFSET函数的功能和一些实际用法。
工具/原料
1

电脑

2

EXCEL软件

方法/步骤
2

如公式:=OFFSET(C1,5,2,1,1),就是以C1为参照,向下偏移5行,到第6行,向右偏移两列,到E列,1行高1行宽,合起来就是E6单元格。

3

前三个参数必须有,不可省略,第四、第五个参数可以省略,省略后表示和参照系相同的行或列数。如:=OFFSET(C1,5,2)与上面的公式是相同的。

4

偏移的行列数,可正可负,正表示向下向右偏移,负表示向上向左偏移,如:=OFFSET(E10,-4,-2),即表示返回C6单元格的引用。

5

了解了函数的基本用法,就可以来看实际应用,从列表中每隔三行提取出一个姓名出来:=OFFSET($B$2,(ROW(1:1)-1)*4,0),向下填充时,行号ROW(1:1)会依次增加,行号每增加1,偏移量增加4行,所以公式中用了*4来增加偏移量。

6

上面只是提取了姓名,所以列的偏移量为0(0也可以省略不写,但逗号不能省,表示这个参数并没有省略掉),如果要同步提取出各科的分数,依次增加列的偏移量即可,公式为:=OFFSET($B$2,(ROW(1:1)-1)*4,COLUMN(A:A)-1)。

7

当然这里列只是依次增加一列,并没有跳跃式增加,向右填充时,可以改变参照系,而不增加列的偏移量,公式为:=OFFSET(B$2,(ROW(1:1)-1)*4,0),在这两例中,上例参照系是不变的,始终为B2,而本例,向右填充时,参照系是变化的,依次为B2、C2……,但行是用了绝对引用的,始终是以各列的第2行为参照。

8

结合其它函数,根据指定的条件返回交叉点的数据,如根据学号和科目返回成绩:=OFFSET(A1,MATCH(H2,A2:A19,0),MATCH(I1,B1:E1,0)),使用MATCH函数返回各条件在相应的行、列中的次序,作为OFFSET函数的偏移量参数,从而返回需要的结果。

9

如果是多人多科目,只要将引用的行列加上相应的绝对引用符就可以了:=OFFSET($A$1,MATCH($H2,$A$2:$A$19,0),MATCH(I$1,$B$1:$E$1,0))

10

求表中某科目中最后几人的平均成绩(是表中最后几人,不是成绩的后几名):=AVERAGE(OFFSET(C1,COUNTA(C:C)-I1,,I1))。

11

可以直接用平均值函数验证下:=AVERAGE(C15:C19)。

12

不管增加或删除记录,始终是返回指定数量的均值。

13

前几个人中,某科目90分及以上的人数:=COUNTIF(OFFSET(C1,,,I1),'>=90'),COUNTIF函数的第一参数必须为单元格或区域,除了直接引用外,可以接受OFFSET函数返回的引用区域。

14

以上是OFFSET函数的一些常用实例,结合其它函数,可以解决一些比较复杂的问题,但万变不离其宗,搞清楚几个参数的意义,就可以生成想要的引用区域。

推荐信息