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

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

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

表亲们好啊,今天老祝和大家分享关于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函数还经常用于动态图表的制作,这些内容咱们以后继续分享。

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

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

图文制作:祝洪忠

    推荐阅读
  • 小龙女认亲成功了吗(传闻小龙女和同性女友婚后情变并争夺家产)

    至于对于自己清空社交账号照片这一举动,吴卓林则表示自己正在工作,由于工作的原因,而选择了清空自己的社交账号。如果吴卓林所言是真,那么这次的情变事件可能真的就只是网友们的一种臆测了。因此,吴卓林的叛逆和一些常人看来无法理解的举动,的确和自己的家庭有着莫大的关系。而如今,吴卓林也已经成家,并且通过此次清空社交账号的行动看来,似乎吴卓林也准备开始“立业”,为自己的小家庭肩负起应有的责任。

  • 最无争议的诺奖(世界欠他一个诺奖)

    过去的2018年里,有一位中国公民的无故羁押令无数国人愤怒。可等到1950年8月,赵忠尧本人归国路过日本横滨时,他被美方无理扣留。因为他的发现意义是伟大的,最早证实了正电子的存在。因此,评审会对赵忠尧实验研究成果的科学可靠性产生质疑。当时年仅28岁的他,本应是中国第一个诺贝尔奖得主,却因别人的错误与它失之交臂。

  • 青菜豆腐挂面怎么做(青菜豆腐面的做法)

    青菜豆腐挂面怎么做?下面更多详细答案一起来看看吧!热锅下油炝锅后加水烧开。烧水间隙菠菜洗净备用。面条煮软后加入适量酱油。加入适量蚝油,加入切块的豆腐。放入食盐和鸡精,搅拌均匀。

  • 八代凯美瑞音响怎么调(简单方法调凯美瑞音响)

    八代凯美瑞音响怎么调第一种:高音、低音都加到+6,中音放在零的位置,整体声场,向后排移动到-3或-4。音响位置的调整,把听觉中心点左右平衡放到0,前后平衡调到-5。这样可以最大限度利用前低音喇叭的音量。有一点需要注意的是,因为车内听音环境很恶劣,人体的耳朵,在主观听感上相比,听不出320Kbps的MP3与无损格式的音质区别。所以,只需320Kbps的MP3格式就足够了,不用无损格式。

  • 杭州萧山区和余杭区哪个位置好(建成区面积排名)

    杭州市是浙江省的省会,位于浙江省的北部地区,和安徽省接壤。境内最主要的河流是富春江,贯穿了整个辖区;最大的湖泊是千岛湖。杭州东站位于其境内。辖区内大部分为平原,只有南部靠近极地海洋公园,有一点山地。上城区建成区面积18.5平方公里下城区下城区是杭州市的中心城区。淳安县建成区面积24.3平方公里建德市建德市是杭州市唯一一个县级市,位于市区的西南部地带。杭州市各区县市建成区面积排名表表中面积的单位是平方公里。

  • 艾尔登法环改宗塔如何进入 艾尔登法环百度百科

    许多小伙伴不知道改宗塔中有哪些奖励,改宗塔如何进入。艾尔登法环改宗塔进入方法介绍改宗塔也是做展现睿智这个动作就会放一个梯子下来当然你们可以跳上去。首先是改宗边境塔的位置,不能从黑刀地下墓地上去,是走大路,从癫火灯塔那边走的。发狂状态躲在灯塔下面的石头后就不会涨条了。然后一只只把发癫老鼠引出来杀了。带着这个头套做深具睿智这个动作就能打开门了。刮死上楼顶后,有个开着的宝箱,里面有两个魔法。

  • 炒白芍的功效与作用及食用禁忌 炒白芍的功效与作用及食用禁忌是什么

    另外,炒白芍中还含有多种天然抗菌消炎成分,能抑制多种致病菌的活性,平时人们适量服用,能让身体抗病能力明显增强。炒白芍的食用禁忌炒白芍药用功效和保健功效都很出色,但它平时不能和藜芦、芒硝以及小蓟等中药材搭配在一起服用,不然产生不良反应,有可能会让人们出现中毒。另外脾胃虚寒的人群还禁止服用炒白芍,不然会加重脾胃虚寒的症状,诱发多种身体不适。

  • 小苏打洗脸的正确方法(小苏打如何洗脸)

    小苏打洗脸的正确方法自制小苏打水洗脸。小苏打又名碳酸氢钠,呈弱碱性,可中和皮肤表面的酸性物质,水溶后能释放出二氧化碳浸透并穿过毛孔及皮肤角质层,促进皮肤的血液循环,使细胞新陈代谢旺盛。小苏打与水的配制比例为1∶5000,即用5000毫升的水来溶解1克小苏打。洗脸的时候,在洗面奶里放上一点小苏打,会发现泡沫变得细腻丰富且有弹性,洗过的皮肤干净清爽,鼻子周围的黑头也干干净净,毛孔也会缩小。

  • 2022聊城户籍人员首次申领身份证收费吗?

    办理临时第二代居民身份证收费标准为每证10元。未满16周岁的公民,由监护人代为申请领取居民身份证。

  • 丁满是什么动物(丁满介绍)

    丁满是狐獴狐獴别称细尾獴、灰沼狸、沼狸、灰爪狸、海猫、海岛猫鼬、太阳猫和猫鼬狐獴是一种小型的哺乳动物,背部毛色黑褐,尾巴有两种颜色,上面棕黑色,尾基部和下部为淡黄色狐獴主要生活在草原和开阔的平原地区,擅长挖洞,夜晚休息白天活动,我来为大家讲解一下关于丁满是什么动物?跟着小编一起来看一看吧!丁满是什么动物丁满是狐獴。狐獴别称细尾獴、灰沼狸、沼狸、灰爪狸、海猫、海岛猫鼬、太阳猫和猫鼬。