excel 行求和 sum结果横着放

如何将每行求和后的结果横向放在sheet2的表中?(效果图如下)

sheet1表: sheet2表:
A B C D E A B C D
1| 2 2 2 2 1| 8 3 10 ……
2| 1 1 0 1
3| 3 3 1 3
4| ……

注:最好不要使用先在E列求和后再隐藏E列的办法。而且sheet2表中,每隔N个数需换行,所以transpose的办法也行不通(数据量太大,不可能一个个转)。

在sheet2表的A1单元格中输入公式:

=SUM(INDIRECT("Sheet1!"&COLUMN()&":"&COLUMN()))

再向右填充即可。 如只到D列,可将公式改为:

=SUM(INDIRECT("Sheet1!A"&COLUMN()&":D"&COLUMN()))

如果数据很多需要换行的话,那么在A2单元格起需将公式改为:

=SUM(INDIRECT("Sheet1!A"&(COLUMN()+(ROW()-1)*COUNT($1:$1))&":D"&(COLUMN()+(ROW()-1)*COUNT($1:$1))))

并把公式填充至和第一行列数一样再往下拉,这样只要你列数改变,数据会跟着变化。
以上是考虑到Sheet2数据列数可能变化的情况,如果列数是固定的,比如为10列,那么所有单元格公式均可改为:

=SUM(INDIRECT("Sheet1!A"&(COLUMN()+(ROW()-1)*10)&":D"&(COLUMN()+(ROW()-1)*10)))
实际使用时可将公式中的10改为你需要的列数。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-01
VBA
第2个回答  2009-08-01
方法一:先在E列求和,复制后用“选择性粘贴”到sheet2,注意记住使用“选择性粘贴”对话框中的“转置”。

方法二:用excel公式。
第3个回答  2009-08-01
在Sheet2的A1单元格中输入公式:
=SUM(OFFSET(INDIRECT("Sheet1!A"&COLUMN()),0,0,,4))
然后向右复制公式即可。
第4个回答  2009-08-01
简单的转换公式:

=IF(COLUMN()>$M$1,"",SUM(OFFSET(Sheet1!$A$1,(ROW()-1)*$M$1+COLUMN()-1,,,256)))

公式中M1是你要设置计算几行了就开始换行的数值,你也可以不要M1,比如你要统计了表1中200行后就换行另外计算,那么公式就修改为:
=IF(COLUMN()>200,"",SUM(OFFSET(Sheet1!$A$1,(ROW()-1)*200+COLUMN()-1,,,256)))

公式更简化为:
=SUM(OFFSET(Sheet1!$A$1,(ROW()-1)*200+COLUMN()-1,,,256))
用IF主要是你的统计界面看起来美观整齐!!!
======================================================
我的这个公式随便你拖拉,向右向下拖拉都正确,放心的去验证吧!

fushxp并没有考虑到换行的情况,假设LZ的数据有千行,不要说千行了,就算257行吧,你的东西就没用了.
第5个回答  2009-08-01
在表一E列求和
表二A1输入函数:
=INDIRECT("'sheet1'!E"&COLUMN())
横向拖动 即为你要的效果
相似回答