首页 生活常识

连续区间怎么求(如何对任意连续区间进行求和?)

2024-09-10 10:01:23100人浏览

相信我们做财务工作的同事都遇到过这种情况,诸如下表,我们经常要对一年的数据进行汇总,有时还需要对各月或季度的数据进行求和汇总,那么我们如何利用一套公式来实现这个功能呢,也就是说在一年十二个月中对任意连续的月份进行求和。

需要求和汇总的数据

要实现这个功能,我们首先了解一下Excel的OFFSET()函数,该函数是以指定的单元格或相连单元格区域的引用为参照系,通过给定偏移量得到新的引用,返回的引用可以是一个单元格,也可以是一个区域,可以指定行列数。

OFFSET函数的语法格式:

=OFFSET(reference,rows,cols,height,width)

=OFFSET(参照单元格,行偏移量,列偏移量,返回几行,返回几列)

案例运行结果

在该案例中,我们在D1、D2单元格中选取开始月份及结束月份,再用SUM函数去求大于等于D1单元格的月份、小于等于D2单元格的月份区间的和,主要就是利用OFFSET()函数来选取这个区间。

我们就用O3单元格的公式介绍其计算过程,O3单元格公式如下:

=SUM(OFFSET(E3,0,VLOOKUP($D$1,$A$2:$B$13,2,0),1,VLOOKUP($D$2,$A$2:$B$13,2,0)-VLOOKUP($D$1,$A$2:$B$13,2,0)+1))

OFFSET()函数的参数设置如下:

“E3”,以“E3”单元格为参照系;

“0”,行不偏移,表示选取本行单元格;

“VLOOKUP($D$1,$A$2:$B$13,2,0)”,列偏移量,首先取“D1”单元格的值,也就是开始的月份,用VLOOKUP在区间“$A$2:$B$13”中找出月份对应的数值,其数值就是列偏移量,例如“一月”,对应值为“0”,表示列不偏移,因为我们以“E3”单元格作为参照系的,当选取“五月”,就是以“E3”单元格为参照系向右偏移4列;

“1”,表示返回1行;

“VLOOKUP($D$2,$A$2:$B$13,2,0)-VLOOKUP($D$1,$A$2:$B$13,2,0)+1”,表示返回多少列,先取“D2”单元格的值,同理取出月份对应的偏移量,减去“D1”单元格月份对应的偏移量,再加“1”,例如我们开始月份为五月,对应为“4”,结束月份为八月,对应为“7”,其实我们要显示五月到八月,共4个月的值,所以要“7-4+1”。

这样我们就通过OFFSET函数确定了求和区间。

我们在“D1”、“D2”单元格中利用“数据验证”取得开始和结束的月份,其取值序列为“A2:A13”,为了不能出现结束月份小于开始月份,我们在“D2”单元格的“数据验证”中用了“INDIRECT”函数,让其取值范围以“D1”单元格选取值的变化而变化。

案例数据验证

例如上图,我们选取“七月”到“十二月”,通过公式可以看出其求和的值为“7+8+9+10+11+12”,选取“一月”到“六月”,通过公式可以看出其求和的值为“1+2+3+4+5+6”。

通过以上设置,我们就达到了对任意连续区间进行求和的目的。