Hello,大家好,今天跟大家分享下我们如何在excel中设置动态求和的效果,如下图,当我们更改姓名和月份的时候会根据我们选择的数据自动求和,比如:我们将名字设置为刘备,截止月份设置为12月,就会对刘备1月到12月的数据进行求和,这个的操作其实也并不难,我们使用offse,sum以及match函数即可搞定,下面就让我们来看下是如何操作的
一、制作下拉菜单
为了保证我们输入的数据都是正确的,我们可以将姓名以及截至月份都制作为下拉菜单,这个的操作也非常的简单,首先我们选择目标单元格,然后点击数据验证,在允许中,选择序列,紧接着选择所有的姓名点击确定,这样的话就制作完成了,截至月的下拉菜单跟这个的制作方法是一样的
二、动态求和
在这里我们只需要输入公式点击确定,然后在选择对应的姓名以及截至月份函数就会根据我们选择的内容进行求和
公式为:=SUM(OFFSET(A1,MATCH(A13,$A$2:$A$10,0),,,MATCH(B13,A1:M1,0)))
简单的跟大家讲解下公式的原理,在这里我们我们主要是运用offset函数来构建一个动态的数据区域,来达到动态求和的效果,我们来剖析下offset函数,offset函数的作用是:以一个区域为基点进行偏移得到一个新的偏移区域,我们以孙尚香十月这个数据跟大家讲解下函数
第一参数:偏移的基点。A1
第二参数:偏移行数。MATCH(A13,$A$2:$A$10,0),这个函数会查找孙尚香这个名字在姓名这一列的位置,它的结果是8,所以函数会向下偏移8个单元格,到达下图黄色的位置
第三参数:省略
第四参数:省略
第五参数:宽度,MATCH(B13,A1:M1,0),这个函数会查找在A1:M1这个区域中10月份的位置,在这里他的结果是11,函数返回的数据区域就是如下图所示黄色加红色的区域
最后我们再利用sum函数对这个区域的数值求和即可得到正确的结果
以上就是这个函数的结果过程,在这里我们必须要理解offset函数的用法,之前已经跟大家介绍过好多次了,如果不明白的话,可以翻看下之前的文章。