当前位置:首页 > 办公设计 > Office教程 > OFFSET函数常用套路

OFFSET函数常用套路

3年前 (2023-12-27)Office教程1480

1、函数作用:

用于生成数据区域的引用,再将这个引用作为半成品,作为动态图表的数据源、或是作为其他函数的参数,进行二次加工。

2、函数用法:

=OFFSET(基点,偏移的行数,偏移的列数,[新引用的行数],[新引用的列数])
第二参数使用正数时,表示从基地向下偏移,负数表示向上偏移。
第三参数使用正数时,表示向右偏移,使用负数时表示向左偏移。
第四和第五参数是可选的,如果省略这两个参数,新引用的区域就是和基点一样的大小。

1)行列转置

如下图,要将A2:D7单元格中多行多列的姓名,转换到一列中。
F2单元格公式为:

=OFFSET($A$2,(ROW(A1)-1)/4,MOD(ROW(A1)-1,4))&””

OFFSET函数的基点为A2。

向下偏移的行数为(ROW(A1)-1)/4,这部分公式下拉时,可以得到从0开始,按0.25递增的序号,即0,0.25,0.5,0.75,1,1.25,1.5……OFFSET函数对带有小数的参数自动向下取整,向下偏移的行数依次为0 0 0 0 1 1 1 1 2 2 2 2……也就是公式每下拉四行,就从数据源中向下偏移一行。
向右偏移的列数为MOD(ROW(A1)-1,4),这部分公式下拉时,可以得到0 1 2 3 0 1 2 3……的循环序列序列,也就是公式每下拉一个行,就从数据源向右偏移一列,下拉到第五行时,偏移的列数又会从0开始。
偏移行数和偏移列数二者结合,最终形成1 2 3 4 2 2 3 4 3 2 3 4 ……这样的偏移方式。

2)计算指定区间的销售额

如下图所示,要计算从1月份到指定月份的累计销售额。
F4单元格公式为:
=SUM(OFFSET(B2,0,0,MATCH(F2,A2:A13,0)))

MATCH(F2,A2:A13,0)部分,先使用MATCH函数计算出F2单元格中的月份在A2:A13中的位置,结果为9.
OFFSET函数以B2单元格为基点,向下偏移0行,向右偏移0列,以MATCH函数的计算结果作为新引用的行数,最终得到B2:B10单元格区域的引用,再使用SUM函数计算这个区域中的总和,得到从1月份到指定月份的销售总额。

3)计算最近7天的平均销量

如下图所示,A列和B列是销售流水记录,要计算出最近7天的平均销量。
F4单元格公式为:
=AVERAGE(OFFSET(B1,COUNT(B:B),0,-7))

先使用COUNT函数,统计出B列的数值个数。
OFFSET函数以B1为基点,以COUNT的结果作为向下偏移的行数,也就是B列有多少个数值,就向下偏移多少行。
这时候就相当于到了B列数值的最后一行,给定的偏移列数是0,新引用的行数是-7,得到从B列数值的最后一行开始,再向上7行这样一个动态的区域。
如果B列的数值增加了,COUNT函数的计数结果就增加了,OFFSET函数的行偏移参数也就随之变化。
就相当于一竿子捅到底,然后来个烧鸡大窝脖儿,向上引用7行,所以得到的始终是最后7行的引用。
最后使用AVERAGE函数计算出这个引用区域中的平均值。

4)计算筛选后的商品总价

如下图,是各食堂的采购记录,需要计算筛选后的商品总价。
G1单元格公式为:
=SUMPRODUCT(SUBTOTAL(3,OFFSET(A1,ROW(1:9),0))*C2:C10*D2:D10)

要计算筛选后的内容,首先需要判断单元格是不是处于显示状态。
先来看OFFSET(A1,ROW(1:9),0)部分,OFFSET函数以A1单元格为基点,向下偏移的行数是ROW(1:9)的计算结果,表示依次向下偏移1~9行,最终得到9个引用区域,每个单元格区域由一个单元格构成。
这里涉及到多维引用的知识点了,小伙伴们如果犯迷糊,可以先收藏一下。
接下来使用SUBTOTAL函数对OFFSET函数得到的多个引用区域进行处理,第一参数使用3,表示使用COUNTA函数的计算规则,即依次统计A2~A9这九个单元格区域中的不为空的单元格个数。
如果单元格处于显示状态,则对这个单元格的统计结果为1,否则统计结果为0。
这部分公式得到类似下面的效果:
{0;0;0;0;0;1;1;1;1}

再用SUBTOTAL函数的结果乘以C列的单价和D列的数量,如果单元格处于显示状态,则相当于1*数量*单价,否则相当于0*数量*单价。
最后使用SUMPRODUCT函数对乘积进行求和,这样就得到筛选后的商品总价了。
除了以上常规的用法,OFFSET函数还经常用于动态图表的制作,这些内容咱们以后继续分享。

好了,今天的内容就是这些吧,后半部分对于很多小伙伴来说可能有点难了,不过不用担心,咱们可以先收藏,然后慢慢消化,积少成多循序渐进。

扫描二维码推送至手机访问。

欢迎转载或分享本篇文章。

本文链接:https://www.jcba123.com/article/868

分享给朋友:

“OFFSET函数常用套路” 的相关文章

手把手教你用Excel制作“考勤表”,能更新日期,自动统计考勤!

手把手教你用Excel制作“考勤表”,能更新日期,自动统计考勤!

“考勤表”相信大家并不陌生,它记录了我们平时上下班及迟到、早退、旷工、请假等考勤记录,也是我们领取工资的凭证。今天,小汪老师就来给大伙分享一下,如何用Excel来制作一份强大的考勤表,不仅能记录考勤,还能够自动统计考勤。   最终演示 1.修改月份,日期会跟着自动变化。 2....

Excel旋风图图表制作技巧,数据比较分析更方便

Excel旋风图图表制作技巧,数据比较分析更方便

今天教大家使用Excel来制作一份旋风图图表,该图表主要特点就是便于两种不同数据的分析对比,能够让我们更有效的查看对比效果。     Excel旋风图效果     Excel旋风图制作 1、首先,我们插入图表。选中数据,点击「插入」...

菜鸟秒变设计师-PPT制作抖音LOGO

菜鸟秒变设计师-PPT制作抖音LOGO

听说最近这个抖音APP很火,于是就用了一下,打开后发觉抖音的LOGO做的挺有意思的,简单的颜色搭配就感觉真的在抖动一样。于是易老师我就用PPT模仿着制作了一下,这里分享制作过程给大家,有兴趣的可以学着做一下,难度指数4颗星~ 制作步骤 步骤一、插入圆环+矩形,前期先做个模子出来。...

Excel下拉菜单,这样的下拉菜单,你用过吗?

Excel下拉菜单,这样的下拉菜单,你用过吗?

先来看常规的下拉菜单制作方法: 在制作下拉菜单时,序列来源只能是单行或单列的区域。 下面这个表格里,数据源是多行多列的,怎么办呢? 不着急,咱们可以糊弄一下Excel…… 步骤1 定义名称 选中任意一列,如B2:B6,在公式选项卡下,设置自定义名称为“名单”...

PPT制作教程:如何使用PowerPoint制作手绘粉笔字效果PPT教程

PPT制作教程:如何使用PowerPoint制作手绘粉笔字效果PPT教程

PPT制作教程:如何使用PowerPoint制作手绘粉笔字效果PPT教程 当您在观看别人的PowerPoint时候,是否经常会看到类似于粉笔字效果呢? 今天的教程就教大家使用PPT制作粉笔字效果的幻灯片,特别是老师制作PPT课件的时候非常适用哦。  ...

动态任务时钟制作PPT教程(二)

动态任务时钟制作PPT教程(二)

组合部件制作:制作方法:(1.将之前制作的各项部件组合;2.添加上时间及文字) 动画制作: 制作方法:(1.文字部分动画——动画——浮入(向上);2.动画——浮出(向上);3.每个时间点动画一样) 动画制作: 制作方法:指针动画(1.复制时针——设置填充及边框无色...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。