技术文章
About Us

解决之道

首页 >>技术文章 >>解决之道

Excel服务器学习和下载园地

>

6.9 例4:按行列匹配

下面的例子用来提取每个大区在指定年月的新增客户数。

输入表间公式

1) 打开模版《客户分布》

2) 定义表间公式,输入公式名称、应用方式,选择来源数据、输入筛选条件,如下图:

注意我们在筛选条件中用到了两个新的函数“年份值”和“月份值”

3) 输入填充方式,如下图:

请注意第一行的“操作”栏。我们以往输入表间公式的填充方式时,从未留意过“操作”栏,当我们输入了提取数据表达式后,操作栏处会自动出现“填入值”字样。

实际上,“操作”栏处是一个下拉列表。“大区”字段所对应的操作要选择“按行()匹配”。

4) 最终的表间公式如下图所示:

应用表间公式

关闭模版,填报《客户分布》,发现各大区的总客户数自动显示在屏幕上,如下图所示:

在年月处输入“2005-12”,您会看到各大区在200512月登记的客户数被填充到D列。

表间公式的应用过程

我们先来解释一下应用一条表间公式的过程中究竟发生了什么,理解了这一点,就能更好地理解“按行()匹配”的含义。

输入年月“200512月”后,表间公式“统计本月新客户”开始应用,直到最终结果显示在屏幕上,要经历三个步骤。

首先,要先从当前报表中提取筛选条件中涉及到的本报表字段的内容,这里是“年月”字段,当前值为200512月”。

第二步,要从数据库中查询所要的数据,形成以表格的形式体现的中间结果,填充方式中指定了几个字段,表格就有几个栏目。比如“统计本月客户”查询出来的数据为下表:(作为中间结果,用户实际上是看不见的,我们可以把它想象成这样的表格)

      

大区

本月新开发

京津

1

华北

2

华东

1

 

第三步,把查询出来的数据填充到Excel工作表中去。“统计本月新客户”公式的填充过程是:

先拿出中间结果的第一条“京津,1”,因为已指定了“大区”要“按行()匹配”,所以计算机先在当前Excel工作表上找京津大区在第几行,见上图,在第6行,然后把数字1填充到第6/“本月新开发”字段所在列,也就是D6处;

接着处理第2条数据,大区为“华北”,找“华北”当前Excel工作表上位于第几行,查到是第3行,把数字2填入D3

…..

以此类推,对查询出的每一条结果数据,都要先根据“按行()匹配”的字段的值,在当前Excel表格上定位,确定其所在行号,然后再把其它字段填充到该行的相应列所处单元格中。

 

这就是“按行()匹配”的含义。

 

注意只有当填充目的表是重复数据项组成的按行/列循环的明细表时,才会用到按行()匹配。如果表间公式填充的是单一数据项的表,按行()匹配是没有实际意义的。

 

在上例中,处理第2条记录时,假设在当前Excel表格上没有找到“华北”怎么办?数字2填到哪里呢?答案是:哪里也不填,这条数据作废。

 

“按行()匹配”经常用在各种统计表的表间公式中。再看下面一个例子:

这张《仓库日报》上,三个统计数据分别来自不同的表单,为了自动产生这张日报,我们需要定义三个不同的表间公式:取期初库存、取入库量、取出库量。产品名称可事先写好在模版上,表间公式查出的结果要对“产品类别”和“产品名称”作按行匹配,保证数据填充到表格中正确的位置上。

 

 

 Excel服务器学习和下载