Excel如何实现将动态的分表数据汇总到总表
将分表数据汇总到总表,需要支持动态更新,这绝对是职场应用中的痛点。很多高手都是用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版本及以上。