![136f5fd2058ea1d1e7809b1b5af53a50.png](https://i-blog.csdnimg.cn/blog_migrate/3bb780ac600e56a29be1fed392116a47.jpeg)
了解了OFFSET函数的参数和基本用法,我们就开始进行进阶操作了。在基本用法中,发现各个参数都是我们单个输入,实际工作中,OFFSET函数通常用在区域数据的引用,这就会牵涉到通过拖动进行填充,那里面的参数就需要用其他函数进行替换来完成。今天,我们通过案例来详细说明。
首先延续上次课的内容,通过OFFSET函数对区域进行引用,但是其中的参数我们需要用Match来取代。我们需要计算所有人的英语成绩总和,可以将公式写成=SUM(OFFSET(A1:A14,0,MATCH(G9,A1:D1,0)-1)),计算陆逊的所有科目总成绩,公式就是=SUM(OFFSET(B1:D1,MATCH(G10,A1:A14,0)-1,0))。
![7e07cc6723c6e30b997dace2252e4ff5.gif](https://i-blog.csdnimg.cn/blog_migrate/cbe90536e143f4c155c9386d8ae67d76.gif)
在此基础上,我们来进行区域的数据引用,我们将单位用一级下拉菜单设置,希望通过点选其中的项,下面对应的数据区域同步变动。我们只需要在G4单元格输入公式,通过拖动来完成。现在来分析一下,我们可以以A1为基点,向下平移几行呢?因为单位名称在同一列,且位置不确定,这个交给专业的MATCH就可以了,这一部分应该就是MATCH($H$2,$C:$C,0),但是匹配到位置只是一个基点,向下拖动对应的行数可以借助ROW函数来定。向右平移几列呢?第一个返回的值是平移一列,但是我们会向右拖动,所以这里用COLUMN函数替代,行高和列宽这里都是1,这样合起来的公式就是=OFFSET($A$1,MATCH($H$2,$C:$C,0)+ROW(A1),COLUMN(A1),1,1),我们通过向右拖动,并向下拖动,完成填充。现在可以点击下拉菜单看一下效果,就是我们希望得到的结果了。
![03c2a057a6839ff10f9713575fd295ff.gif](https://i-blog.csdnimg.cn/blog_migrate/889aeac0ba2c49985e19559919500bb1.gif)
有了以上内容作为基础,就可以轻松制作动态图表,你所看到的很多动态图表都是借助OFFSET函数来完成的,下次我们就分享通过OFFSET函数来制作动态图表。