Excel 中数组公式的交替列

Alternating Columns on a Array Formula in Excel

我有一个电子表格,其中数据分布在交替的列中。 A、C 和 E 列是标志,指示相邻列是否具有有效数据。

是这样的:

     A    B   C    D   E    F
1    1   32   0   67   1   34

目标是对左相邻值为 1 的值求和。在此示例中,总和应为 66,因为 A 和 E 均为 1,而 C 为 0。

我可以获得一个包含 1 和 0 的数组,指示是否设置了标志列:

=MOD(COLUMN(A1:F1),2)*A1:F1

这给了我

{1, 0, 0, 0, 1, 0}

问题是我不知道我能从这里做什么。如果我可以滑动所有数据(通过在开头插入一个 0 并删除最后一个位置的 0),我可以对其进行 SUMPRODUCT 并得到结果。

顺便说一句,我不会使用宏...

想法?

请注意,下面的公式有两个单元格范围,一个从 A 列开始,另一个从 B 列开始。

=SUMIF(A1:F1,1,B1:G1)

如果您不熟悉 SUMIF 那么您需要了解的是第一项 A1:F1 是公式检查条件值的地方。在这种情况下,您可能会问什么条件下等于秒项的值 =1。最后最后一项有需要求和的值。

此外,由于您可能会遇到偶数列中有 1 的问题(您期望的值不是您的条件),heve 是一个公式,可确保您的 1 和 0 条件在正确的列中:

=SUM(IF((A1:F1=1)*ISODD(COLUMN(A1:F1)),B1:G1,0))

简单版:

=SUM(A1*B1,C1*D1,E1*F1)

由于 0 乘以任何值始终为零,因此这只会对前面有 1 的列求和。