excel中多个相邻两列相乘然后横行求和

A B C D E F G
3 0.5 52 0.01 12 0.1
我想要 G1=A1*B1+C1*D1+E1*F1 有没有更好的公式,不需要手动一行行这样输入的,如果数据太多手动输入就不可取了

想了一个公式,不过也比较麻烦,至少数据要十几个或几十个相乘才能显示出好处来,不过写出来给你作个参考吧,G1公式为

=SUM(SUMIF(INDIRECT(ADDRESS(1,ROW(1:3)*2-1)),"<>")*SUMIF(INDIRECT(ADDRESS(1,ROW(1:3)*2)),"<>"))
同时按下CTRL+SHIFT+ENTER输入数组公式,就可以了。公式中的ROW(1:3)根据实际情况调整,如果不是6个数是10个数,改成ROW(1:5)
再改一下吧,略短点
=SUM(SUMIF(OFFSET(A1,,ROW(1:3)*2-2),"<>")*SUMIF(OFFSET(A1,,ROW(1:3)*2-1),"<>"))
同样是三键齐按的数组公式.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-07
你直接在G1输入你写的公式,然后用填充柄(即把光标放在G1单元格右下角变成细十字时)往下拉就行了嘛,用其它公式反而不好,如果你是两列数据,可以用CUMPRODUCT。
第2个回答  2010-10-07
这个似乎没有太好的办法,其实,这些单元格不必手工输入,进入公式编辑方式后,单元格可以用鼠标点击的办法确定,但运用符就需要手工输入了。另,G1的公式输入完成后,G2以后的公式不必再手工输入,向下拖动即可。
第3个回答  2010-10-07
如果只有这6列,你的公式即可。
G1输入后用鼠标拖填充柄(单元格右下角黑色十字)向下填充即可。

如果列数非常多,可以用数组公式实现
=SUM(IF(MOD(COLUMN(A1:E1),2),A1:E1)*IF(MOD(COLUMN(A1:E1),2),B1:F1))
PS:数组公式输入时按ctrl+shift+enter完成
第4个回答  2019-08-14
=SUM( IF(MOD(COLUMN(A1:CZ1),2)=1,C2:CZ2) * OFFSET(A1:CZ1,0,1) )