SUM函数产生一个#VALUE!在数组公式

时间:2018-04-02 20:36:32

标签: excel excel-formula

我在工作表(A1:G10)范围内有以下值:

1   1   1   1   1   1   1
2   2   2   2   2   2   2
3   3   3   3   3   3   3
4   4   4   4   4   4   4
5   5   5   5   5   5   5
6   6   6   6   6   6   6
7   7   7   7   7   7   7
8   8   8   8   8   8   8
9   9   9   9   9   9   9
10  10  10  10  10  10  10

当两行由行号定义时,我需要计算上面数组中两行之间值的差值之和,例如:第10行和第1行之间的值差值之和,9-之间第2行和第2行等等。我在J1:K10范围内定义的行号:

1   10
2   9
3   8
4   7
5   6
6   5
7   4
8   3
9   2
10  1

然后我选择了L1:L10范围,在第一个单元格中我输入了以下公式:

=SUM((OFFSET(A1,INDEX(K1:K10,ROW(K1:K10)-ROW(K1)+1)-1,0,1,7)-OFFSET(A1,INDEX(J1:J10,ROW(J1:J10)-ROW(J1)+1)-1,0,1,7)))

然后按下CTRL+SHIFT+ENTER,以便将公式作为数组公式输入。并且公式为范围中的每个单元格返回#VALUE!错误。 我尝试评估公式,除最后一步外,它的评估正确:SUM({9,9,9,9,9,9,9})变为#VALUE!

为清晰起见,这是表格的屏幕截图:

enter image description here

我做错了什么?请建议。

1 个答案:

答案 0 :(得分:5)

在L1中使用SUMPRODUCT:

=SUMPRODUCT(INDEX($A$1:$G$10,J1,0)-INDEX($A$1:$G$10,K1,0))

并复制下来。

enter image description here