今天跟大家分享一下offset函数的使用方法,这个函数在Excel中的应用非常的广泛,可以用于制作动态图表,构建动态的引用区域,实现动态求和等等,可以说是Excel高手必备的函数之一。
一、OFFSET函数的作用与参数
Offset函数:offset是一个偏移函数,它以一个单元格为基点进行偏移得到一个新的偏移区域
语法:=OFFSET(reference, rows, cols, [height], [width])
第一参数:偏移基点 第二参数:行数,向上或者向下偏移的行数 第三参数:列数,向左或者向右偏移的列数 第四参数:高度,返回引用区域的行高 第五参数:宽度,返回引用区域的列宽
我们需要注意的是offset函数获取的是一个数据区域,并不是一个具体的结果,比如在这里我们想要使用offset函数获取下图黄色的数据区域,只需要将函数设置为OFFSET(A1,3,2,4,2)即可。
这个函数就表示OFFSET函数会以A1单元为基点,先向下偏移3行来到A4单元格(张飞)然后再向右偏移2列来到C4单元格,随后以C4单元格为原点在行方向向下引用4行数据,在列方向向右引用2行数据,这个就是函数的偏移过程。
因为offset获取的是一个数据区域,我们无法直接看到这个偏移的结果是不是正确的,这个时候可以考虑将offset函数嵌套在sum函数中,对偏移结果区域求和,通过求和结果来判断偏移结果是不是正确的。
二、动态求和
跟大家拆分一个offset最经典的应用实例,就是实现动态求和,如下图,我们想要通过更改姓名与月份,获取这个人在指定时间段的数据之和。
在这里我们只需要将公式设置为:=SUM(OFFSET(A1,MATCH(A16,A2:A11,0),MATCH(C16,B1:I1,0),1,MATCH(D16,B1:I1,0)-MATCH(C16,B1:I1,0)+1)),即可得到正确的结果。
跟大家简单的讲解下这个函数的参数与运算过程
第一参数:A1,这个就是offset函数偏移的基点
第二参数:MATCH(A16,A2:A11,0),它的作用是查找嫦娥这个姓名在数据源中姓名这一列的位置,结果为6,就表示基点会从A1开始向下偏移6行,来到A7单元格
第三参数:MATCH(C16,B1:I1,0),他的作用是查找开始月份(5月)在表头这一行中的位置,结果为5,就表示函数会A7单元格开始向右偏移5行,来到F7单元格,也正好是嫦娥5月份的数据
第四参数:1,因为在这里数据仅仅只有1行,我们将行数设置为1即可
第五参数:MATCH(D16,B1:I1,0)-MATCH(C16,B1:I1,0)+1),用于确定引用数据区域的列数,首先我们使用MATCH(D16,B1:I1,0)来查找一下结束月份(8月)在表头的位置,他的结果是8,MATCH(C16,B1:I1,0)计算的是开始月份(5月)在表头,二者相减结果为3,但是在表格中5月到8月它是包含4列数据的,所以我们还需要为结果加1才可以得到正确的偏移区域。
最后我们再使用offset函数对这个偏移的结果求和就会得到嫦娥5月到8月的数据之和,更改姓名与月份,这个时间就会自动的发生变化,非常的方便,如下图所示
以上就是今天分享的全部内容,offset函数虽然参数比较多,结果比较抽象,但是我们只需要理解它各个参数的含义,也是可以轻松掌握的。
还没有评论,来说两句吧...