肥宅钓鱼网
当前位置: 首页 钓鱼百科

offset函数的讲解(四个典型用法帮到你)

时间:2023-07-11 作者: 小编 阅读量: 1 栏目名: 钓鱼百科

表亲们好啊,今天老祝和大家分享关于OFFSET函数的知识。接下来使用SUBTOTAL函数对OFFSET函数得到的多个引用区域进行处理,第一参数使用3,表示使用COUNTA函数的计算规则,即依次统计A2~A9这九个单元格区域中的不为空的单元格个数。如果单元格处于显示状态,则对这个单元格的统计结果为1,否则统计结果为0。最后使用SUMPRODUCT函数对乘积进行求和,这样就得到筛选后的商品总价了。

表亲们好啊,今天老祝和大家分享关于OFFSET函数的知识。

说起OFFSET函数,真的是像雾像雨又像风,从复杂的数据汇总、到数据透视表再到高级动态图表,都离不开OFFSET函数的默默付出。

通过OFFSET函数,可以生成数据区域的动态引用,这个引用再作为半成品,通过后续的处理加工,就可以为图表和透视表提供动态的数据源、为其他函数生成特定的引用了。

首先,咱们说说这个函数的作用,微软的帮助文件是这样描述的:

以指定的引用为参照系,通过给定偏移量返回新的引用。

瞧瞧,这么简单的几句话,让人家怎么能猜透你的心思嘛。

这个函数有5个参数:

第一个参数是基点

第二个参数是要偏移几行,正数向下,负数向上。

第三个参数是要偏移几列,正数向右,负数向左。

第四个参数是新引用几行。

第五个参数是新引用几列。

如果不使用第四个和第五个参数,新引用的区域就是和基点一样的大小。

如果使用下面这个公式:

=OFFSET(C3,4,2,4,3)

就是以C3为基点,向下偏移4行,向右偏移2列,新引用的行数是4行,新引用的列数是3列,最终得到对E7:G10单元格区域的引用。

当然,仅仅得到引用是没啥用处的,咱们的目的是把OFFSET函数得到的引用作为一个半成品,再通过其他方法进行再加工。

这么说还是有点抽象啊,再来一个形象一点的:

OFFSET函数就像是一个敌人的小分队,从据点(C3)出动,顺着大路向南走4里(C7)

拐弯儿再向东2里,这时候就到马家河子(E7)了

敌人队长说了,我要以马家河子(E7)这个地方开始,再占领一片地盘。

有多大呢?向南4里,向东3里。结果就是E7:G10单元格区域了。

简单认识了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函数还经常用于动态图表的制作,这些内容咱们以后继续分享。

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

祝各位小伙伴一天好心情!

图文制作:祝洪忠

    推荐阅读
  • 古代有一群女人被称为瘦马瘦马指代的究竟是什么(什么是瘦马)

    古代有一群女人被称为瘦马瘦马指代的究竟是什么“瘦马”,又称“扬州瘦马”,兴盛于扬州。所谓“瘦马”,指的是某些特定的体态娇弱的年轻女子。其中培养、调教的过程,称之为“养瘦马”。这种“养瘦马”买卖“瘦马”行为,算是某个特定历史阶段的产物。自唐朝以后,扬州逐渐成为天下最繁华的城市。由于扬州的巨大吸引力,明清时期,大量的富人,特别是盐商,大量聚居于扬州。因为暴利,“养瘦马”是非常讲究的。

  • 梅花未谢杏花开(梅花开春意浓)

    春节期间,安徽省合肥市匡河岸边的梅花竞相绽放,吸引众多市民和游客前来观赏。新华社记者张端摄这是2月17日拍摄的合肥市匡河岸边的梅花。

  • 男人没有夫妻关系心理会怎么样(一个男人不再需要)

    人到中年的夫妻,是压力最大的一代人,上有老下有小,完全不敢松懈,要承担起整个家庭的责任。当一个男人不再需要“夫妻”生活,背后往往有这三个原因。当一个男人不乐衷于夫妻生活时,一定是他的工作太累了,一定是他的工作太耗费精力,而他也别无选择。如果心里已经有了其他的女人,而对自己的老婆没有感觉,拒绝过夫妻生活的男人,女人真的要选择及时止损。

  • 翡翠脏了怎么打理(清洁翡翠的方法)

    翡翠脏了怎么打理只要用清水清洁后再以马尾鬃刷轻轻轻扫翡翠即可。在佩戴或者收藏翡翠时,应该避免摩擦与碰撞,不佩戴的时候,应该用软布包好。尤其应当避免碰撞,有时候,翡翠经过碰撞,内部结构会遭到损坏,表面上毫发无损,实际上内部已经生出暗纹,久而久之,就会造成无法修补的瑕疵。

  • 拍打带脉的正确方法(如何正确敲打带脉)

    拍打带脉的正确方法带脉是指缠在腰间的一圈,别的经脉在人体都是纵行的,只有带脉像带子一样在人体围成一圈。敲打带脉的时候主要是以敲打带脉穴为主,带脉穴位于腰间和肚脐齐平的地方和腋窝中线相交的地方,也就是躺下的时候腰部赘肉最明显的地方。敲打的时候可以将手握成空拳,轻轻敲打此处,力度不用太大,但是此处肉多,力度也不能太小,每次敲打300次左右,如果想要瘦肚子的效果明显,可以早晚各一次。

  • 家访备忘录(冒着大雨也要赶去学生家里)

    沈莹班上的学生,每年能过两个“生日”——“六一”儿童节前夕的5月31日是一年一度的“班级生日会”。沈莹曾荣获市小学语文教师素养大赛一等奖、区小学教师学科专业素养比赛一等奖。晚上8:30,浑身淋湿的沈莹如约来到学生家中,只是比约定时间晚了1个小时。为了帮助家长做好家庭教育,2019年起,沈莹组织起了“家长课堂”,定期给家长们介绍好的教育方法。

  • 不干胶与透明背胶的区别(不干胶与透明背胶的区别介绍)

    不干胶与透明背胶的区别性质不同。不干胶是指有压力敏感性的胶水,最普通的就是常见的不干胶标签和封箱胶带(透明胶),这种胶属于一种半干性的胶粘剂,也可以说是永远不干的。不干胶也可以说是通用胶,主要是具有抗紫外线、酸雨、雪等极端的天气。不干胶适用于各种幕墙耐候密封,特别推荐用于玻璃幕墙、铝塑板幕墙、石材干挂的耐候密封。背胶主要用于玻璃幕墙的金属和玻璃间结构或非结构性粘合装配。

  • 苦瓜粥的功效(苦瓜粥的功效和作用)

    苦瓜粥的功效二降低血糖作用:正常的以及患四氧嘧啶性糖尿病的家兔灌服苦瓜浆汁后,可使血糖明显降低。给家兔口服苦瓜甙可降低血糖,作用方式与甲苯磺丁脲相似而较强,对摘除胰脏的猫降低血糖作用并未完全消失,故其降血糖包括对胰脏的及非胰脏的二种作用。亦有认为苦瓜浆汁及果实的干浸膏对正常的及糖尿病的兔的降血糖作用并不确实。糖尿病人口服苦瓜的酒精提取物并未降低血糖。

  • 华为nova5i有什么优点(一张图带你了解华为nova)

    为了带来更高的正面屏占比,华为nova5iPro配备了一块6.26英寸极点全面屏,配合四周窄边框设计,能为用户带来更加震撼的视觉冲击力。另外,华为nova5iPro的机身背部还采用了经典的矩阵式镜头设计,辅以极光色、翡冷翠、幻夜黑三款配色,满足不同用户的需求。华为nova5iPro的价格也非常给力,6GB128GB版售价2199元,8GB128GB版售价2499元,8GB256GB版售价2799元。即日起开始预约,8月2日正式开售。

  • 冠道是不是全球车型(你知道吗)

    下面更多详细答案一起来看看吧!冠道是不是全球车型作为较早进入中型SUV市场的车型,汉兰达对于丰田来说可谓是意外之喜,而说起丰田就永远离不开本田。作为广汽本田旗舰SUV车型,冠道自2016年上市以来,便凭借尖端产品力造就了“技术豪华”的形象,一跃成长为SUV市场明星车型。本田冠道不是全球车型,本田冠道属于中国特供车型。东风本田UR-V和广汽本田冠道,这两款车型都是中国首发,目前国外还没有推出。