2011-07-13 165 views
10

我在Excel 2003中有一个类似于数据库的表格,第6行中包含单个标题行,第7行中的数据以及第160行中的数据。第1 - 5行是表格标题,列组标题和说明,我无法摆脱。Excel - SUM到列表末尾

我还在此区域中显示SUM(X6:X160)SUBTOTAL(109,X6:X160)数字列。我不想在表格的底部显示它,因为有多个用户经常向该表中添加行,并且他们会定期销毁这些公式。

问题:无论何时用户将数据添加到表尾,都需要更新SUM和SUBTOTAL公式以扩大范围 - 不用说 - 大部分被遗忘。

我自己可以扩展公式以覆盖所有行,最多可覆盖-say-行500并隐藏剩余的行,因此用户需要在到达表的可见结尾时“插入”行 - 反过来会更新公式,但我不认为这是一个非常安全的方式...了解我的用户。

问:有没有一种方法来创建X6 SUM和小计“列X的结束无论是”?

结论

我用SUM(OFFSET(....)),取“高度”的参数从一个新的领域中,通过一个=COUNTA($A:$A)-1显示“的记录数”的标题( - 因为从业务环境中可以清楚地看出,对于任何有效的数据记录,A列中必须存在关键值,并且不允许空行(我可以至少培训用户) - 加上用户不仅可以看到SUM,而且可以在头部冻结窗格中记录COUNT条记录。

回答

5

使用偏移()COUNT()似乎是最流行的,我敢肯定,最有效,使用。

=SUM(OFFSET($X$6,0,0,COUNT($X$6:$X$1000))) 

就个人而言,我倾向于使用间接()了很多的东西。它可能会运行较慢,但它的工作原理。它帮助我看到正在创建的范围。尽管如此,由于范围的一部分是以文本形式保存的,所以在移动公式时不会更新。这可能会让你失望。无论如何你在这里。

=SUM(INDIRECT("$X$6:$X$" & COUNT($X$6:$X$1000))) 

您可以使用iDevlop指出的动态范围或将偏移()或间接()总和()里面好像我只是做了。你要小心

无论哪种方式,因为间接()偏移()Volatile Functions。一般你想避免的。

我还发现this guy,谁使用指数()匹配(),这是不挥发的功能。

编辑:

它的思维(因为我只是在我的电子表格一样)..

只要你知道你的数据将有一个合理的限制,比如1000,你可以只使用=SUM($X$6:$X$1000),即使小计方法1或101(平均值)也会跳过空白。

+0

+1的提示上的“易失函数“......不知道。 – MikeD

+0

如果您有任何空白单元格,则OFFSET会翻转,因为您从每个空白单元格的SUMmed范围中丢失了1行 – pelms

5

嗯,我想你可以使用像= SUM(C:C)总结在C列所有单元格,它会排除文本自动我想它和它的工作

+0

也适用于空白单元格:¬) – pelms