给领导、老板报日报表,估计很多同学都做过。一天一张单独的表,打印出来送到老板办公室。
今天我们关注的是日报表的累计数公式,如上图的F列中,每天的累计数可以自动算出来。大部分同学应该都是这么做的:
设置公式=本日发生数+上一日累计数
公式没毛病,但问题在,如果日报表结构很复杂,如果一个个设置起来有些麻烦,兰色教你一招,用替换一次完成:
用空白模板复制一份,修改工作表名后把引用的工作表名替换即可
但这样做也会有个很严重的问题:如果某日的报表修改时删除了累计列数据,所有表的累计数都会出错。
这不够简便,那不好,有没有更好的办法?有,只需要一个公式
=D6+INDIRECT(DAY($D$3)-1&”日!E” & ROW(D6))
公式简介:用day函数提取天数-1后,生成要引用的工作表名称,然后用INdirect函数从该表中提取上一日的累计数。加row是为了生成序号方便复制公式。
用法很简单:复制表后,只需要修改D3日期即可自动生成累计数公式,公式不需要做任何改动。
如果需要把所有日报表的本日数合并起来,也只需要一个公式
=INDIRECT(D$3&”!d”&ROW(A6))
兰色说:在刚接触Indirect函数时,兰色像发现新大陆一样,很多原来无法做到的动态跨表引用,都因它实现了。