哭,这么简单的求和,我居然写了如此复杂的VBA

VIP学员的问题,有N个格式一样的工作表,每个工作表内的合计所在行不确定。如何快速对所有工作表内合计数求和,有什么好办法?现在合计数求和是一个个手动点击相加的。

=第二!F30+安阳!F9+淮阳!F11+迁安!F9+项城!F10+工业!F9+琼武!F13

某热心群友,三两下就写了这么一段VBA,他说忘记了函数的套路怎么写了。

于是,卢子打开了表格,仔细一看,虽然合计数行数不确定,但是都在F列,而且是对前面的金额求和。

=SUM(F4:F29)

看到这里就想到了合计数=前面所有数字,也就是说对F列求和,再除以2,就是合计数。

=SUM(F:F)/2

这样就将一个很复杂的问题,转换成一个很简单的多表求和问题,对所有工作表的F列求和再除以2就解决了。在Excel中有一个很巧妙的公式:

=SUM('*'!F:F)/2

'*'代表除当前工作表的所有工作表的合集。

通用公式:

=SUM(第二:琼武!F:F)/2

语法说明:

=SUM(第一个工作表名称:最后一个工作表名称!区域)

如果工作表存在数字开头或者特殊字符,要加单引号。

=SUM('1第二:琼武'!F:F)/2

对问题进行拓展,假如现在要引用每个工作表的合计数。

=SUM(INDIRECT("'"&A2&"'!F:F"))/2

最后再提下INDIRECT函数,这个真的好简单,只需记住一句话就行。如果是鼠标引用某个工作表就叫直接引用,如果是借助单元格的内容去引用某个工作表叫间接引用,间接引用就套个INDIRECT函数,仅此而已。

推荐:2个方法,秒搞定格式不同的多表汇总!心疼还不会这个技巧的你

上文:太聪明了!居然想到用一条简单的公式取代VBA

对于今天的案例,你第一反应是用什么方法解决?

作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

(0)

相关推荐