我正在努力使用excel公式:
需要:我需要一个公式来对每5行进行求和 AND 将值放在相应的行上。 (见下表)
这是我迄今为止所拥有的,但它并不存在:
=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
COLUMN" A" = VALUES
COLUMN" B" =当前输出(带上面的公式)
COLUMN" C" =期望的输出
感谢您的协助。
答案 0 :(得分:3)
答案 1 :(得分:2)
使用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。
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
答案 2 :(得分:1)