最近有小伙伴通过私信询问了关于在分表录入数据,而总表能实时更新合并多个表格数据的问题。其实呢,之前已经分享过类似的教程《Excel 合并多个表格数据,实时同步更新,一个公式轻松搞定!》,当时采用的是(DROP + UNIQUE + SORT + VSTACK)公式组合。今天,再给大家分享另外一种解决方法,即利用 VSTACK + FILTER 函数组合来实现多表数据合并,让分表录入数据时总表能够实时更新,这种方法简单高效,能使工作效率大幅提升!

就像下面所展示的示例图那样,我们要分别把 A 分公司、B 分公司、C 分公司的销售订单数据合并汇总到 “汇总表格” 中,并且确保总表数据会依据分表数据的更新而自动进行更新。

excel中利用VSTACK+FILTER函数组合实现多表数据合并及总表实时更新-趣帮office教程网

接下来,就直接给大家详细介绍具体的操作步骤。

第一步:VSTACK函数把分表数据合并汇总到总表

操作步骤:

在目标单元格中输入公式:=VSTACK (A 分公司:C 分公司!A2:D200),然后点击回车键即可。

excel中利用VSTACK+FILTER函数组合实现多表数据合并及总表实时更新-趣帮office教程网

公式解读:

1、VSTACK 介绍

功能:VSTACK 函数的主要功能是将数组垂直堆叠到一个数组中。这就好比把多个不同的 “数据堆” 按照垂直方向一个接一个地摞起来,形成一个新的、更大的数组。

语法:其语法格式为 =VSTACK (数组 1,数组 2,数组 3,……)。也就是说,我们可以在括号里依次罗列需要进行垂直堆叠的各个数组。

2、使用 VSTACK 函数合并数据的具体情况

在我们这个例子中,是要使用 VSTACK 函数来合并 A 分公司 - C 分公司的数据。由于每个表格的行数并不固定,为了确保能够完整地合并所有可能存在的数据,我们可以适当地多选一些行来扩大合并区域。在这里,我们选择到了 200 行。当然啦,具体选择多少行大家可以根据实际需求来灵活确定合并区域。

3、合并多个表格选择合并区域的方法

如果是要合并多个连续的分表格,有一种比较便捷的选择区域方法哦。我们可以先点击 “A 分公司” 工作表(也就是开始表)的第一个要合并的单元格,然后按住 Shift 键,再点击最后一个表(在这个例子里就是 “C 分公司” 工作表),最后在最后一个表中选择要合并的数据区域就可以啦。这种方法能够快速准确地选中我们需要合并的连续分表的数据区域。

对于这种连续分表合并的情况,还有一个通用公式供大家参考,那就是 =VSTACK (开始表格名称:结束表格名称!区域)。

第二步:利用 FILTER 函数条件查询获取最终结果

操作步骤:

当我们按照前面的步骤使用 VSTACK 函数选择合并区域进行扩大范围后,会发现总表中会出现很多 0 行的情况。这是因为在分别选择区域时,如果存在空值,那么合并后就会显示 0,就像下面所展示的那样。

excel中利用VSTACK+FILTER函数组合实现多表数据合并及总表实时更新-趣帮office教程网

其实呀,要去掉这些 0 行,我们可以借助 FILTER 函数,通过判断指定列不等于 0 来实现。

在我们这个实例中,就按照 D 列 “销售人员” 这列作为判断条件。只需在目标单元格中输入公式:=FILTER (VSTACK (A 分公司:C 分公司!A2:D200),VSTACK (A 分公司:C 分公司!D2:D200)<>0),然后点击回车键即可。

excel中利用VSTACK+FILTER函数组合实现多表数据合并及总表实时更新-趣帮office教程网

公式解读:

在这个公式中,首先是以 VSTACK (A 分公司:C 分公司!A2:D200) 作为数据返回区域,这部分其实就是前面我们用 VSTACK 函数合并好的数据整体。而 VSTACK (A 分公司:C 分公司!D2:D200)<>0 则作为条件,也就是说,只有合并后的 D 列数据不为 0 时,才符合我们所设定的条件。这里要特别提醒大家注意的是,数据返回区域是 A2:D200,条件的数据区域是 D2:D200,这两个区域可千万别写得一样,不然可能就无法准确实现我们想要的筛选效果。

通过以上这两个步骤,利用 VSTACK + FILTER 函数组合,我们就能够轻松地实现将多个分公司的销售订单数据合并汇总到总表,并且保证总表能根据分表数据的更新而实时更新啦,是不是很方便呢?