
下面的例子用来提取每个大区在指定年月的新增客户数。
1) 打开模版《客户分布》
2) 定义表间公式,输入公式名称、应用方式,选择来源数据、输入筛选条件,如下图:
注意我们在筛选条件中用到了两个新的函数“年份值”和“月份值”
3) 输入填充方式,如下图:
请注意第一行的“操作”栏。我们以往输入表间公式的填充方式时,从未留意过“操作”栏,当我们输入了提取数据表达式后,操作栏处会自动出现“填入值”字样。
实际上,“操作”栏处是一个下拉列表。“大区”字段所对应的操作要选择“按行(列)匹配”。
4) 最终的表间公式如下图所示:
关闭模版,填报《客户分布》,发现各大区的总客户数自动显示在屏幕上,如下图所示:
在年月处输入“2005-12”,您会看到各大区在2005年12月登记的客户数被填充到D列。
我们先来解释一下应用一条表间公式的过程中究竟发生了什么,理解了这一点,就能更好地理解“按行(列)匹配”的含义。
输入年月“2005年12月”后,表间公式“统计本月新客户”开始应用,直到最终结果显示在屏幕上,要经历三个步骤。
首先,要先从当前报表中提取筛选条件中涉及到的本报表字段的内容,这里是“年月”字段,当前值为“2005年12月”。
第二步,要从数据库中查询所要的数据,形成以表格的形式体现的中间结果,填充方式中指定了几个字段,表格就有几个栏目。比如“统计本月客户”查询出来的数据为下表:(作为中间结果,用户实际上是看不见的,我们可以把它想象成这样的表格)
| 大区 | 本月新开发 |
| 京津 | 1 |
| 华北 | 2 |
| 华东 | 1 |
第三步,把查询出来的数据填充到Excel工作表中去。“统计本月新客户”公式的填充过程是:
先拿出中间结果的第一条“京津,1”,因为已指定了“大区”要“按行(列)匹配”,所以计算机先在当前Excel工作表上找京津大区在第几行,见上图,在第6行,然后把数字1填充到第6行/“本月新开发”字段所在列,也就是D6处;
接着处理第2条数据,大区为“华北”,找“华北”当前Excel工作表上位于第几行,查到是第3行,把数字2填入D3。
…..
以此类推,对查询出的每一条结果数据,都要先根据“按行(列)匹配”的字段的值,在当前Excel表格上定位,确定其所在行号,然后再把其它字段填充到该行的相应列所处单元格中。
这就是“按行(列)匹配”的含义。
注意只有当填充目的表是重复数据项组成的按行/列循环的明细表时,才会用到按行(列)匹配。如果表间公式填充的是单一数据项的表,按行(列)匹配是没有实际意义的。
在上例中,处理第2条记录时,假设在当前Excel表格上没有找到“华北”怎么办?数字2填到哪里呢?答案是:哪里也不填,这条数据作废。
“按行(列)匹配”经常用在各种统计表的表间公式中。再看下面一个例子:
这张《仓库日报》上,三个统计数据分别来自不同的表单,为了自动产生这张日报,我们需要定义三个不同的表间公式:取期初库存、取入库量、取出库量。产品名称可事先写好在模版上,表间公式查出的结果要对“产品类别”和“产品名称”作按行匹配,保证数据填充到表格中正确的位置上。