Excel-如何获取一行中相邻单元格的和积

时间:2018-11-17 13:38:35

标签: excel excel-formula

我有一行值,想要得到第一对的乘积,第二对的乘积,依此类推,然后求和。

例如,用于: 5 | 10 | 2 | 5 | 3 | 6

我希望结果是78(50 + 10 + 18)

此公式可获得正确的结果: =SUMPRODUCT(--(MOD(COLUMN(C19:V19)-COLUMN(C19)+1,2)=0),C19:V19,--(MOD(COLUMN(B19:U19)-COLUMN(B19)+1,2)=0),B19:U19)

但是我不能上演这样的范围(C19:V19和B19:U19)。我只需要在公式中使用C19:V19(这是实际数据所在的位置)。它只是在这里交错排列,以便公式的第二部分选择奇数单元格,而第一部分选择偶数。

我需要找出一个仅使用C19:V19的等效论坛。

作为这种尝试的一部分,我已经达到了这一点:

=SUMPRODUCT(--(MOD(COLUMN(C19:V19)-COLUMN(C19)+1,2)=0)*C19:V19,--(MOD(COLUMN(C19:V19)-COLUMN(C19)+1,2)=1)*C19:V19)

这将正确地获得几率,但总是将每个乘积乘以0。

我正在努力想出另一种方法。有人有建议吗?

1 个答案:

答案 0 :(得分:2)

这有效:=SUMPRODUCT(OFFSET(C1:H1;0;1)*(C1:H1);--(MOD(COLUMN(C1:H1)-COLUMN(C1);2)=0))

OFFSET将数组向右移动一个位置,然后与原始数组相乘,然后只需要对不均匀位置求和,这是通过SUMPRODUCT和数组来完成的您使用--MOD()

创建

我只使用了您在C1:H1问题中输入的6个数字,因此您必须使用C19:V19更改此引用。