SUM函数产生一个#VALUE!在数组公式中使用时出错

Evg*_*orb 0 excel excel-formula

我在工作表(in 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
Run Code Online (Sandbox Code Playgroud)

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

1   10
2   9
3   8
4   7
5   6
6   5
7   4
8   3
9   2
10  1
Run Code Online (Sandbox Code Playgroud)

然后我选择了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)))
Run Code Online (Sandbox Code Playgroud)

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

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

在此输入图像描述

我做错了什么?请建议.

Sco*_*ner 5

在L1中使用SUMPRODUCT:

=SUMPRODUCT(INDEX($A$1:$G$10,J1,0)-INDEX($A$1:$G$10,K1,0))
Run Code Online (Sandbox Code Playgroud)

并复制下来.

在此输入图像描述

  • 您根本不需要公式中的INDEX:`= SUM((OFFSET($ A $ 1,K1-1,0,1,7)-OFFSET($ A $ 1,J1-1,0,1,7) )))`但是偏移是不稳定的,应尽可能避免. (2认同)