Excel 如何对同列数据中部分数据求和?

2025-10-18 06:15:04

1、我们可以看到数据源,可以得到:

1.学号:唯一性,字符长度一致;

2.求和:每个考生的科目不一,间隔行数不同,即求和区域有变化;

3.难点:需要作出当前学号距离下个相邻学号的间距;

4.联系:各个学号之间是否存在联系,比如行号。

以上,我们对数据源添加三个辅助列,分步得到结果,利于学习。

Excel 如何对同列数据中部分数据求和?

2、现在对辅助列的用到函数说明:

B列:需要用到的函数Len;

C列:需要用到的函数If、Row;

D列:需要用到的函数Iferror、If、Small、Countif;

E列:需要用到的函数If、Len、Sum、Offset、Match。

1、1、转化数据列字符长度

在B列单元格输入:=LEN(A2),即可得到字符长度;

操作如GIF动图所示!

Excel 如何对同列数据中部分数据求和?

2、2、转化学号所在行的行号

在步骤1基础上,可以区别成绩与学号的差异;

在C列单元格输入:=IF(LEN(A2)=6,ROW(),"")

操作如GIF动图所示!

Excel 如何对同列数据中部分数据求和?

3、3、统计相邻学号之间的间隔行数

分解到这,可以得到“相邻学号间隔”的值,如相邻A与B,即等于B-A-1;

使用small函数和countif函数组合函数:1.countif函数统计当前学号长度重复个数;2.在此基础上在利用small函数取值C列对应行号;3.相减即可得到当前学号距离下个学号的间隔行数;4.if函数判断当前行是否是学号行。

在D列单元格输入:=IFERROR(IF(B3=6,SMALL(C:C,COUNTIF($B$3:B3,B3)+1)-SMALL($C$3:C3,COUNTIF($B$3:B3,B3)),"")-1,"")

如GIF动图所示!

Excel 如何对同列数据中部分数据求和?

4、解析步骤3的关键点

1.因为学号的行号是从小到大,作为Small函数其引用区域,

2.因位学号的长度重复次数是从1累计,加1即可得到下个相邻学号,作为Small函数的K值。

5、4、最终结果的求和

使用sum和offset组合函数统计求和结果:1.offset的参数定位为:表头,即A1;2.使用match定位当前学号位置,即row()下偏移值;3.引用同行“重复间隔”,即height引用行数;4.即得到求和区域,使用Sum函数求和;5.4.if函数判断当前行是否是学号行。

在E列输入公式:IF(LEN(A2)=6,SUM(OFFSET($A$1,MATCH(A2,A:A,0),,D2,)),"");

如GIF动图所示!

Excel 如何对同列数据中部分数据求和?

6、解析步骤4的关键点

1.Match函数的巧妙使用,利用学号的位置,解决Offset函数的Row参数,即下移参数,定位求和区域的上界标;

2.使用Offset函数,前面三步主要是解决height,即引用行数,定位求和区域的下界标;;

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢