1、同一工作簿多工作表的汇总
工作表结构布局相同
如果各部门数据在同一工作簿内,分别用多张工作表登记各部门数据,且各表格的结构布局一致,就很好处理。
如果数据保存在同一文件夹的不同工作簿中,可以先将表格转移至本工作簿,再汇总。
如果表格较多,可以使用“逸凡工作簿合并助手”实现批量转移。
工作表结构布局不同
前提条件:各表的行标题、列标题的名称必须一致。
可使用合并计算来汇总,即使行数列数均不一致。
2、不同工作簿多工作表的汇总
在跨工作簿汇总表格时一般有两种不同的需求:一是需要将各表格的分项数据罗列在各列,然后在最后一列加计汇总;二是不需要分项数据,只需反映汇总结果。下面就这两种情况分别介绍。
1.需要列示分项数据的汇总
(1)使用INDIRECT函数实现快速引用。
有时我们需要汇总的表格并不方便转移至同一工作簿,需要将这些部门\公司的数据引用到同一工作表的不同列,然后进行汇总,这时我们可以使用INDIRECT函数来自动引用。
我们仍以第三节第二部分快速翻新表格中的公式示例为例:还是假定“财务报表”文件夹在E盘目录,打开“1月”文件夹中“资产负债表(2014年1月合并)”和“重庆A公司财务报表(2014年1月)”工作簿,我们观察“资产负债表(2014年1月合并)”B4:C14单元格区域引用的公式会发现,其公式分别如下:
='[重庆A公司财务报表(2014年1月).xlsx]资产负债表'!C4
='[重庆A公司财务报表(2014年1月).xlsx]资产负债表'!C5
='[北京B公司财务报表(2014年1月).xlsx]资产负债表'!C4
='[北京B公司财务报表(2014年1月).xlsx]资产负债表'!C5
……
如图2-43所示:
从图2-43中不难看出,这些公式都具有一定的规律,变化的只是表格的名称和依次递增的单元格行号,因而我们完全可以使用INDIRECT函数来实现自动引用。具体操作步骤如下。
Step1:检查B3:F3单元格区域各单位的名称与1月文件夹中各单位财务报表工作簿名称中的单位名称是否一致。这步很重要,否则,使用INDIRECT函数引用结果会出错。
Step2:在“资产负债表(1月合并)”的B4单元格编辑下面的公式:
=INDIRECT("'["&B$3&"财务报表(2014年1月).xlsx]资产负债表'!C4")
Step3:将B4单元格的公式往下填充会发现,计算结果都等于重庆A公司资产负债表C4单元格的值,而不是依次等于C5、C6单元格的值。下面使用取当前行号的函数ROW(关于ROW函数的功能介绍请参见第四章第四节)来代替公式中的行号“4”,以便往下拖动公式时会自动递增,自动变为引用C5、C6单元格。公式修改如下:
=INDIRECT("'["&B$3&"财务报表(2014年1月).xlsx]资产负债表'!C" & ROW())
Step4:将公式向下和向右填充至B4:F13单元格区域。负债和权益类的公式由于引用的是F列,故公式需要修改一下,“资产负债表(1月合并)”B18单元格的公式如下:
=INDIRECT("'["&B$3&"财务报表(2014年1月).xlsx]资产负债表'!F" & ROW()-14)
(由于B18的行号为18要链接F4单元格,故计算的行号要减去14。)
为了准确,可以为以上公式中指定详细路径,如下:
=INDIRECT("'E:\财务报表\1月\["&B$3&"财务报表(2014年1月).xlsx]资产负债表'!C" & ROW())
(2)使用查找替换快速修改引用公式。
如果大家觉得使用INDIRECT函数不好理解,还可以使用基本功能——查找替换来修改公式的引用工作簿。我们仍以第三节第二部分报表的快速翻新的表格为示例,还是假定“财务报表”文件夹在E盘目录。具体操作步骤如下。
Step1:将“资产负债表(2014年1月合并)”B4的公式修改成混合引用,如下:
='[重庆A公司财务报表(2014年1月).xlsx]资产负债表'!$C4
然后复制填充至B5:B8和B10:B13单元格区域。
Step2:将B18单元格公式修改成:
='[重庆A公司财务报表(2014年1月).xlsx]资产负债表'!$F4
然后复制填充至B19:B21和B24:B27单元格区域。
Step3:选定B4:B27单元格区域,往右拖动填充柄,将公式复制填充至C4:F27单元格区域。
Step4:选定C4:C27单元格区域,按【Ctrl+H】键,查找内容栏输入“重庆A公司财务报表”,替换内容栏输入“北京B公司财务报表”,点击“全部替换”。
Step5:重复Step4操作步骤,依次将D:F列公式引用的工作簿修改为目标工作簿。
思考题:在Step1中B列的单元格引用也可以不改成混合引用,仍然为相对引用,如何将其B列的公式复制到C:F列而保持仍然引用重庆A公司的C列呢?
提示:
方法1:将B4:B27单元格区域复制粘贴到Word中,然后再复制粘贴回合并表的C:F列。
方法2:【Ctrl+~】显示公式,选定B4:B27单元格区域,按【Ctrl+C】两次,复制并调出剪贴板,分别再选定C4、D4、E4、F4单元格,点击剪贴板中刚才复制的内容,依次将其粘贴到C4:C27、D4:D27、E4:E27以及F4:F27单元格区域。再按【Ctrl+~】改回显示公式计算的值。
2.仅需列示汇总结果
(1)使用合并计算进行跨工作簿汇总。
在“合并计算”文件夹中,分别有A公司、B公司和C公司的销售统计表,它们的样式如图2-44所示:
要将上述销售统计表汇总成一张表,如图2-45所示:
下面介绍具体操作步骤。
Step1:将各公司的销售统计表打开。
Step2:假定已知汇总表的结构,选定汇总表A1:G13单元格区域,如图2-46所示。
Step3:在【数据】选项卡→点击“数据工具”组的“合并计算”按钮→打开“合并计算”对话框。
Step4:点击引用位置栏的折叠按钮,选择“A公司销售统计表”的A3:C13单元格区域,点击“添加”按钮,将其添加到引用位置栏。然后将标签位置的首行、最左列勾选上,如图2-47所示。
Step5:重复Step4,将B公司A3:E15单元格区域、C公司A3:D12单元格区域添加到引用位置。
Step6:添加完所有表格需要合并的单元格区域,点击“确定”按钮,完成合并计算,结果如前文图2-45所示。
如果Step2不选定汇总表A1:G13单元格区域(即不指定需要汇总的字段),只是选定A1单元格,后面的操作不变,那么汇总结果如图2-48所示:
本示例为合并计算表按类别对数据进行合并计算。如果汇总表格已经指定了需要汇总的行标题和列标题,那么Excel只会合并计算指定字段,并将结果汇总到指定单元格;如果没有指定需要汇总的行标题、列标题,那么Excel会将包含所有数据的汇总结果反映在指定位置。
(2)使用数据透视表进行跨工作簿汇总。