我有一个电子表格,其中数据以交替列的形式传播。列A,C和E是指示相邻列是否具有有效数据的标志。
就像这样:
A B C D E F
1 1 32 0 67 1 34
目标是对其左边相邻的值求和。在此示例中,总和应为66,因为A和E均为1且C为0。
我可以得到一个1和0的数组,指示是否设置了标志列:
=MOD(COLUMN(A1:F1),2)*A1:F1
这给了我
{1,0,0,0,1,0}
问题是我不知道从这里可以做些什么。如果我可以滑动所有数据(通过在开头插入0并在最后位置删除0),我可以对其进行逐例处理并获得结果。
顺便说一句,我不能使用宏......
想法?
答案 0 :(得分:2)
请注意,下面的公式有两个单元格区域,一个从A
列开始,另一个从B
开始。
=SUMIF(A1:F1,1,B1:G1)
如果您不熟悉SUMIF
,那么您需要了解的是,第一项A1:F1
是公式检查条件值的地方。在这种情况下,您可能会问什么条件等于秒项=1
。最后一个术语具有需要起作用的值。
此外,由于你可能会在偶数栏中找到1(你期望价值不是你的条件),所以你是一个公式,确保你的1& 0条件正确列:
=SUM(IF((A1:F1=1)*ISODD(COLUMN(A1:F1)),B1:G1,0))
答案 1 :(得分:1)
简单版本:
=SUM(A1*B1,C1*D1,E1*F1)
当0
乘以任何值时始终为零,那么这只会将前面带有1
的列相加。