excel永恒的求和

excel永恒的求和

excel永恒的求和

 

1、=SUM(OFFSET(A1,,,ROW()-ROW(A1)))可以对A列数值自动求和。
2、=SUM(INDIRECT("R2C:R[-1]C",FALSE))
3、=SUM(INDIRECT("A2:A"&ROW()-1))
坚持不用R1C1栏名列号表示法还有一个方法,不过又复杂了些。首先定义一个公式:COL=IF(COLUMN()>26,CHAR(INT((COLUMN()-1)/26)+64)&CHAR(IF(MOD(COLUMN(),26)=0,26,MOD(COLUMN(),26))+64),CHAR(COLUMN()+64))。后于欲求加总之储存格输入:=SUM(INDIRECT(COL&"1:"&COL&ROW()-1))。则此公式复制到任何一任皆可用,又不怕产生错误值。(注:COL=IF(COLUMN()>26,CHAR(MOD(COLUMN(),26)+64)&CHAR(INT(COLUMN()/26)+64),CHAR(COLUMN()+64))。暴露了一个为人不知的缺点,如果列数到了AA列以后就不行了,虽然可用ADDRESS()解决,比用CHAR()好多了,但公式还是太长,用在一个加法中实在不值)
其实用ADDRESS更好,=SUM(INDIRECT(ADDRESS(1,COLUMN())&":"&ADDRESS(ROW()-1,COLUMN()))),还是一句老话,为做一个加法不是太值,这只能是技术上的讨论。

 

推荐阅读