[英]Excel formula to Sum every 5 rows
我正在努力与一个Excel公式:
需要:我需要一个公式来对每5行求和,并将值放在相应的行上。 (见下表)
这是我到目前为止的内容,但还不完全是:
=SUM(OFFSET($A$2,(ROW()-ROW($B$2))*5,,5,))
| A | B | C
-----------------------
1 | 5 | 37 | 37
2 | 10 | 24 | 37
3 | 7 | 17 | 37
4 | 7 | 0 | 37
5 | 8 | 0 | 37
6 | 1 | 0 | 24
7 | 3 | 0 | 24
8 | 5 | 0 | 24
9 | 5 | 0 | 24
10 | 10 | 0 | 24
11 | 5 | 0 | 17
12 | 1 | 0 | 17
13 | 8 | 0 | 17
14 | 2 | 0 | 17
15 | 1 | 0 | 17
第A栏=值
列“ B” =当前输出(带上式)
列“ C” =所需的输出
谢谢你的协助。
另一种使用INDEX而不是OFFSET的方式
=SUM(INDEX(A:A,FLOOR(ROW()-1,5)+1):INDEX(A:A,FLOOR(ROW()-1,5)+5))
说明
FLOOR函数采用第一个参数的值并将其四舍五入为第二个参数的最接近倍数。 在第一个INDEX语句中,对于1-5行,在FLOOR语句中,从行号中减去一个,得出0-4。 FLOOR语句将所有这些值四舍五入为零,因此在添加一个后,您对前5行中的每一行都将获得值1。
第二个INDEX和FLOOR语句的工作方式相同,不同之处在于,在末尾加5以使前5行的值为5。
INDEX返回一个引用,因此将INDEX(A:A,1):INDEX(A:A,5)放入列A的前5个单元格是有效的,那么您可以将它们求和。
对于第6-10行,FLOOR语句以相同的方式产生5,因此在分别添加1和5之后,您将获得A列的单元格6-10,依此类推。
Row() Row()-1 FLOOR(Row()-1) FLOOR(Row()-1)+1 Floor(Row()-1)+5
1 0 0 1 5
2 1 0 1 5
3 2 0 1 5
4 3 0 1 5
5 4 0 1 5
6 5 5 6 10
7 6 5 6 10
8 7 5 6 10
9 8 5 6 10
10 9 5 6 10
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.