EXCEL中OFFSET函数的实用技巧
EXCEL中有大量的函数,熟悉函数的用法,可以设计出许多实用的公式,大幅提高办公效率。本篇主要介绍下OFFSET函数的功能和一些实际用法。
OFFSET函数的基本用法
OFFSET函数是引用函数,根据指定的偏移量返回引用,此函数有五个参数,第一个参数是参照系,以此为基准进行偏移,第二个参数是偏移行数,第三个参数是偏移列数,第四个参数是返回区域的行数,第五个参数是返回区域的列数。
如公式:OFFSET(C1,5,2,1,1)
,就是以C1为参照,向下偏移5行,到第6行,向右偏移两列,到E列,1行高1行宽,合起来就是E6单元格。
前三个参数必须有,不可省略,第四、第五个参数可以省略,省略后表示和参照系相同的行或列数。如:OFFSET(C1,5,2)
与上面的公式是相同的。
偏移的行列数,可正可负,正表示向下向右偏移,负表示向上向左偏移,如:OFFSET(E10,-4,-2)
,即表示返回C6单元格的引用。
实际应用示例
了解了函数的基本用法,就可以来看实际应用。举个例子,从列表中每隔三行提取出一个姓名出来:OFFSET($B$2,(ROW(1:1)-1)*4,0)
,向下填充时,行号ROW(1:1)
会依次增加,行号每增加1,偏移量增加4行,所以公式中用了*4来增加偏移量。
如果要同步提取出各科的分数,依次增加列的偏移量即可,公式为:OFFSET($B$2,(ROW(1:1)-1)*4,COLUMN(A:A)-1)
。
当然这里列只是依次增加一列,并没有跳跃式增加,向右填充时,可以改变参照系,而不增加列的偏移量,公式为:OFFSET(B$2,(ROW(1:1)-1)*4,0)
。
结合其他函数的使用
结合其他函数,根据指定的条件返回交叉点的数据,如根据学号和科目返回成绩:OFFSET(A1,MATCH(H2,A2:A19,0),MATCH(I1,B1:E1,0))
,使用MATCH函数返回各条件在相应的行、列中的次序,作为OFFSET函数的偏移量参数,从而返回需要的结果。
如果是多人多科目,只要将引用的行列加上相应的绝对引用符就可以了:OFFSET($A$1,MATCH($H2,$A$2:$A$19,0),MATCH(I$1,$B$1:$E$1,0))
。
其他实用技巧
求表中某科目中最后几人的平均成绩(是表中最后几人,不是成绩的后几名):AVERAGE(OFFSET(C1,COUNTA(C:C)-I1,I1))
。可以直接用平均值函数验证下:AVERAGE(C15:C19)
。不管增加或删除记录,始终是返回指定数量的均值。
前几个人中,某科目90分及以上的人数:COUNTIF(OFFSET(C1,,I1),"gt;90")
,COUNTIF函数的第一参数必须为单元格或区域,除了直接引用外,可以接受OFFSET函数返回的引用区域。
以上是OFFSET函数的一些常用实例,结合其他函数,可以解决一些比较复杂的问题,但万变不离其宗,搞清楚几个参数的意义,就可以生成想要的引用区域。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。