将分表数据汇总到总表,需要支持动态更新,这绝对是职场应用中的痛点。很多高手都是用VBA宏代码来搞定,代码难写,不易修改,也不太灵活。事实上,Excel自带的功能就能解决。

分析:解决这个问题最多的方法就使用VBA代码搞定,但不是所有人都会的。这里将各个分表作为数据库源,然后利用Excel外部数据链接功能汇总到一个Excel工作表中。

操作

步骤1:为了方便理解,本例使用了简单的数据表达,在Sheet1中录入的数据如图1-133所示,在Sheet2中录入的数据如图1-134所示。


图1-133


图1-134

步骤2:选中Sheet3中的目标单元格,依次单击“数据→现有连接→浏览更多”,如图1-135所示。打开工作簿文件,如图1-136所示。

图1-135

图1-136

选择需要汇总的表格,注意一次只能导入一个表格的数据。这里首先导入前面的Sheet1,由于Sheet1没有标题,所以不用勾选“数据首行包含列标题”,如图1-137所示。

图1-137

选择Sheet1$,导入到目标单元格A1,如图1-138所示。导入成功后的效果如图1-139所示。


图1-138


图1-139

图1-140

步骤3:用同样的方法导入Sheet2的数据,注意接着Sheet1导入的数据的下面进行导入,如图1-140所示。将Sheet1与Sheet2的数据导入到Sheet3后,效果如图1-141所示,完成两张表的汇合导入。接下来验证一下,如果Sheet1和Sheet2的数据发生变化,则Sheet3的汇合数据也发生变化。步骤4:在Sheet1中继续录入数据,如图1-142所示。


图1-141

图1-142

步骤5:在Sheet2中也录入数据,如图1-143所示。在Sheet3中依次单击“数据→全部刷新”,数据自动更新,如图1-144所示。


图1-143

图1-144

效果如图1-145所示,表格自动更新,但Sheet1中添加的汉字显示成了空格。


图1-145

步骤6:如果在Sheet2中也录入文字,如图1-146所示,Sheet3刷新后,可以更新出Sheet2中的汉字,如图1-147所示。

图1-146


图1-147

奇怪,Sheet2中新增的文字可以刷新出来,Sheet1中新增的文字为什么就是空白呢?问题在Sheet1的F1单元格的筛选框。单击引用Sheet1的F1下拉列表,可以发现下拉列表中显示的是数字筛选,原来问题在这里,如图1-148所示。单击引用Sheet2的F1下拉列表,显示的是“文本筛选”,如图1-149所示。

图1-148

图1-149

原来这里添加的筛选方式是根据创建筛选时的数据类型控制的。如果希望后续添加数字或文本字符时均自动更新汇总表,则在创建汇总表前,汇总表引用的表中要同时维护数字和文本字符。以本例来说,Sheet1和Sheet2在汇总前必须包含数值和文本。

总结: Excel的数据库外部链接与Excel的动态列表技能息息相关,通过这个案例能够实现对Excel数据库文件进行数据汇总。后续本书将使用Excel的外部SQL方式让数据汇总更加得心应手。本例为多表数据汇总的基础,希望职场人士掌握。

提示: 该技巧适用于Excel 2007版本及以上。