offset函数很抽象,因为它返回的是引用的区域,几个参数,涉及到基点和偏移量,所以很多没有基础的朋友会觉得它很难理解,今天我们就来解析下offset的语法,并结合几个例子来说它的实际引用。
语法
OFFSET(reference, rows, cols, [height], [width])
翻译成中文:OFFSET(引用位置, 偏移的行数, 偏移的列数, [结果区域的高度], [结果区域的宽度])
偏移的行数为正,则是向下,如果为负,则是向上
偏移的列数为正,则是向右,如果为负,则是向左
高度和宽度不能为负数
偏移演示1:

=OFFSET(B3,2,1,1,1)
以B3单元格为基准点,记住偏移的量,不要算上基准点。从下一行开始。
400这个值是在基准点的下面第二行,所以第2个参数为2,基准点右边的第1列就是400所在的列,所以第三个参数为1,由于获取的是一个单元格,所以宽度和高度都是1
偏移演示2:

=OFFSET(C5,-2,-1,1,1)
以C5单元格为基点,偏移到B3单元格,这需要向上和向左偏移,所以第2个参数和第三个参数为负数。为什么第二个参数和第三个参数为2和1,在第一个例子已经讲过。
excel神秘而强大的隐藏函数datedif函数,升职加薪系列
excel中有个隐藏函数datediff,神秘而强大,对于计算年龄、工龄非常的有用,同样制作员工的生日提醒也可以使用到。因为datedif是隐藏函数,所以在单元格中,输入=后以后,并不会出现只能提
偏移演示3:

=SUM(OFFSET(B3,2,1,2,2))
我们要获取浅绿色部分数据的和。以B3单元格为基点,移动两行一列,然后要引用区域的高度为2,宽度为2,为什么会返回value错误值呢,是因为引用的是一个区域,在一个单元格中显示不全,当我们使用sum后,就得到了正确的结果。
案列1:求前N个月的销售之和。

函数解读:=SUM(OFFSET(B1,1,0,D2,1))
OFFSET(B1,1,0,D2,1)
我们从销售金额的标题,也就是B1单元格开始便宜,朝下一行就是数据,因为不需要列便宜,所以第个参数为0,第三个参数是高度,数据的前N行正好是前N个月的销售,第四个参数为1列的意思。
案例2:对后N个月的销售求和

=SUM(OFFSET(B1,COUNTA(B:B)-D2,0,D2,1))
OFFSET(B1,COUNTA(B:B)-D2,0,D2,1)
COUNTA(B:B)为非空单元格的行数,减去要求的数量,正好是行偏移的数量,其他的和上一个例子相似。
案例3:动态下拉菜单

公式解读:=OFFSET(A1,1,0,COUNTA(A:A)-1,1)
以A1为基点偏移1行0列,正好是A2单元格,我们要获取姓名的高度,正好是COUNTA(A:A)-1,为什么减去1呢,减去1就是减去航标题。
这样我们就生成了动态下拉菜单,无论更改数据或者删除数据,下拉列表中的数据总是跟着变化。
excel函数之王aggregate函数用法详解,功能真的好强
很多使用excel的朋友,竟然不知道aggregate函数,更不知道它能实现什么。实际上aggregate函数和subtotal函数很像,但是比subtotal函数更更直观,功能更强大。我们在介绍完aggregate的语法后,会给大