11.2 本期累计
上节的销售日报过于简单,假设我们希望在日报上不仅要体现当天的销售情况,还要体现从月初到日报当天的累积销售情况,就像下图所示的这样:

图 11‑4带本期累计的销售日报
11.2.1 问题分析
来分析一下这个问题的解决思路:当日数据的统计很容易,我们在11.1节已经实现了,主要的问题的本月累计怎么做。注意一点,日报是要每天都要做的,也就是说,当我们作5日的日报时,4日(或者3日、2日,确切的说应该是上一张日报的日期,是个未知数)的日报已存在了。这就给我们提供了解决问题的思路:
今天的“本月累计”= 今天的当日数据+上次日报上的“本月累计”数
具体来说,在模板上增加几个字段:
在G2增加一个字段“上次日期”,
在G列增加“上次累计数量”,H列增加上次累计金额,模板全部设计好之后,可以把G列和H列隐藏。

图 11‑5在日报上增加几个隐藏字段
用表间公式去查询“上次日报的日期”
用表间公式去查询“上次日报的本月累计”
用Excel公式计算今天的本月累计:E5=C5+G5,余类推。
另外,因为包含了“本月累计”,所以不能像上节那样,把产品名称和当日数量、当日金额一次性提取出来,这样会导致某产品由于当天没有订单就没有被包含在当天的日报上,但该产品可能当月的前些日子是有订单的,这样的日报无法正确地反映每种产品的本月累计。
分析就到这里,下面实际地把这张日报做出来。
11.2.2 建立模板《新日报》
- 按图 11-5 所示表样建立模板《新日报》
- 定义单一数据项:新日报 _ 主表
主键 |
区域 |
字段名 |
数据类型 |
必填 |
填写规范 |
其它 |
√ |
C2 |
日期 |
日期 |
|
当前日期 |
|
|
H2 |
上次日期 |
日期 |
|
|
|
- 选中 B5:H14 ,定义重复数据项。注意第一步的上方标题行数要输入 2 。

图 11‑6
- 最后定义好新数据表:新日报 _ 明细

图 11‑7
11.2.3 第一条公式----提取所有产品
在《新日报》模板上新建如下的表间公式

图 11‑8
切换到“显示范围”选项卡下,选择“重复数据只填充一次”。

图 11‑9
注意两处:1)应用方式我们选择了“新建打开时”,效果就是,当我们填报的时候,空白日报一打开,这条表间公式马上就执行。2)在显示方式处,我们选中了“重复数据只填充一次”。这是因为物料表中可能有这样的数据:名称相同,规格不同,所以如果全部提取出来会出现同样的品名重复显示好几行的情况,此选项用于保证重复的数据只显示一次。
11.2.4 按行(列)匹配
什么叫按行(列)匹配
在11.2.3,我们定义了单独的一条表间公式,把物料表中的全部品名都提取出来,填充到了产品名称栏。假设物料表中共有四种产品A,B,C和D,那么应用了“提取所有产品”表间公式后,日报的内容如下:

图 11‑10 产品名称事先写好
再假设5月25日的只有B产品和C产品的订单,参照11.2.3,我们能统计出下面的结果:
产品名称 |
当日数量 |
当日金额 |
B |
100 |
120000 |
C |
60 |
80000 |
这个统计的结果应该如何体现到日报上呢?
注意到日报上的产品名称已经事先写好了,所以填充统计数据的时候应该考虑到每种产品名称所在的位置:B产品在第6行,所以应该把100填到C6,120000填到D6;C产品在第7行,所以应该把60填到C7,80000填到D7。结果如下:

图 11‑11 “按行匹配”产品名称,填充统计结果
这种填充方式称为“按行(列)匹配”。
具体来说,就是依照表间公式的查询结果中的某个部分(在这里是“产品名称”),到工作表上找到相同的取值,确定其所在的行(或列),然后把查询结果的其余部分填充到对应的行(或列)上。
定义按行列匹配的表间公式
在新日报上定义表间公式,其来源数据和筛选条件均和11.1节的公式相同,仅填充方式有变化,如下图11-12,对“产品名称”要选择“按行(列)匹配”

图 11‑12
完整的表间公式如下:

图 11‑13
11.2.5 提取上次日报的日期
因为我们平时有工作日,当然也有周末或者节假日,所以,上一张日报的日期不能简单的用当前日期减一天得出,下面,我们用表间共识来提取上次日报的日期:

图 11‑14
注意:在做“填充方式”时,把“新日报_日期”前面加号展开后,下面有很多日期函数,我们运用的是“最晚()”函数。

图 11‑15
11.2.6 滚动累加
现在来提取上次日报上的累计数,定义表间公式如下:

图 11‑16
11.2.7 总结与思考
至此,我们已经完整地实现了《新日报》模板,总结一下,本模板的设计要点包括:
- 设计三个隐藏字段:上次日期,上次累计数量和上次累计金额
- 分别提取当天的统计数据,上次日报日期以及上次日报的累计数据,用到了按行列匹配。
- 用表间公式查询数据,用 Excel 公式计算结果,二者结合起来。
下面,请大家多输入一些订单,连续做几天的日报,进一步理解和体会本模板的设计要点