上一篇:08-1-创建工作表目录
本篇为Excel工作表高级操作实例之一:
本篇在章节中的位置
在工作中,对多工作表数据的求和是许多人日常会遇到的问题。对于不同的数据,我们可以采用不同的方法,求和有许多方法,但并不是每一种方法都适用于所有的情况。
本篇,将通过实例主要介绍在多工作表中利用函数公式对数据求和方法。在介绍Excel基础操作的这一章加入这样一篇内容的目的是,提前让对函数与公式没有深入了解的普通用户,对Excel的这一项强大的功能建立一个初步的认识。
本篇内容结构
1.对单一工作簿中不同工作表求和
日常工作中我们经常为了数据简单明了而把数据按某个字段分工作表记录。比如当我们在记录近几个月产品产量时,会在工作簿中为每个月的记录创建一个单独的工作表,并且这些工作表的结构都相同。
此时,当我们需要将数据集中处理分析时候就会麻烦,这么多表格中的数据如何才能根据需求快速求和呢?下面将根据求和的要求,分别介绍方法。
分别对多工作表同时求和
如果我们需要同时对多个工作表中的某列数据快速求和,可以在工作表导航栏中按住Ctrl键选中这些工作簿后,选中所有工作表中数据最多的一列最后一行下的空白单元格,然后按下Alt+=键,快速调用SUM函数。
按下Ctrl+Enter键即可在选中的多个工作表中同时得到求和结果。
如果我们需要在表格中指定的某个单元格中对多工作表中指定列的数据求和,则可以在工作表导航栏中选中需要求和工作表标签后,在该单元格中使用SUM函数对区域求和。
例如,要在B15单元格对上图所示3个工作表D列数据同时求和,可以在选中“一月”、“二月”和“三月”工作表标签后,在B15单元格中输入公式:
按下Ctrl+Enter键后,即可得到求和结果。
注意:使用以上方法求和需要工作簿中被选中的所有工作表具有相同的结构。
对多个工作表中的同一区域求和
仍以上图所示的工作簿为例,如果我们需要在一个单独的工作表中对“一月”、“二月”、“三月”工作表中的D列(数量)数据进行求和。
可以在选中用于显示求和结果的单元格后(例如B2单元格),输入公式:
该公式中“*”为通配符,代表了除当前工作表以外的所有工作表,也就是工作簿中的“一月”、“二月”、“三月”等3个工作表。
按下Ctrl+Enter键,即可在B2单元格中得到“一月”、“二月”、“三月”等3个工作表D2单元格中数值的求和结果。
双击B2单元格右下角的填充柄,向下复制公式。
即可在B列得到“一月”、“二月”、“三月”等3个工作表的求和结果。
如果当前工作簿中还包括其他不要参与求和的工作表,例如下图所示的“二季度销售”表。
我们可以通过修改求和公式来解决这个问题,例如可以将公式修改为:
代表只对工作表名称最后一个字是“月”的工作表进行求和。
或者
对工作表名称为两个字符的表格的D2单元格进行求和(其中两个“?”代表两个字符)。
对指定范围的工作表中的同一区域求和
如果我们实例中的一季度销售数据表变为上半年销售数据表,其中包含了1月到6月的销售数据,而我们只想在“求和”工作表中对1月到3月的数据进行求和怎么办呢?
此时,可以在“求和”工作表的B2单元格中使用公式
即=SUM(开始工作表:结束工作表!单元格或区域)
按下Ctrl+Enter键即可设定只求和一月至三月D2单元格中的数据。
双击上图中B2单元格右下角的填充柄,向下复制公式,效果如下图所示。
对不同工作表分别求和
如果我们需要在一张工作表中对上半年销售数据表中一月到六月的销售数据(保存在各个工作表D2:D13区域的“数量”值)分别求合,该怎么办呢?
此时,我们需要使用indireect函数,在B2单元格中输入公式:
=SUM(INDIRECT(A2&"!$d$2:$d$13"))
使用indireect函数实现间接引用,通过汇总表单元格A2:A7中的值和工作表名称一致这层关系,实现间接访问相应的工作表。
按下Ctrl+Enter键,可以在B2单元格中得到“一月”工作表中D2:D13区域数据的求和结果。
单击B2单元格右下角的填充柄,向下复制公式,效果如下图所示。
对多个工作表中指定的条件求和
如果我们只想对工作簿中多个工作表中保存的具体某一项数据(例如对本篇实例表中的“托伐普坦片”)单独求和,该怎么办呢?
这实际上是上一个求和应用的扩展应用,我们可以将上一个案例所使用公式中的sum函数变为sumif函数,再将条件区域也改为间接引用,在“求和”工作表的B2单元格中输入以下公式:
=SUMIF(INDIRECT(A2&"!$C$2:$C$13"),B2,INDIRECT(A2&"!$D$2:
按下Ctrl+Enter键后双击C2单元格右下角的填充柄。
即可得到求和结果。
对多个工作表中的多条数据求和
如果我们要对多个工作表中保存的多项数据(例如本篇实例中每个月销售表中的“业务类型”)进行求和,该怎么办呢?
这就涉及到多表同时进行条件求和,需要用到数组,我们可以在“求和”工作表的B2单元格中输入以下函数:
=SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$6)&"月"&"!b:b"),A2,INDIRECT(ROW($1:$6)&"月"&"!d:d")))
按下Ctrl+Enter键即可得到上半年“正常销售订单”的销售量求和。
单击B2单元格右下角的填充柄,向下复制公式,可以在B3单元格得到上半年“销售差价”的合计值。
以上公式中的sumif和indirect分别是条件求和与间接引用;row($1:$6)是一个常量数组,相当于{1,2,3,4,5,6},再和“月”连接,就是工作表名称了;最外面用sumproduct函数,因为它可以直接对数组进行求和,如果最外层用sum函数,需要按ctrl+shift+enter三键用数组函数完成。关于函数和公式的应用,我们将在后面的篇章中详细介绍。
2.对多个工作簿中不同工作表求和
在Excel中,我们可以使用合并计算对多个工作簿中的多个相同结构工作表中的数据进行求和。例如,下图所示为3个工作簿中分别记录着一月、二月和三月的销售数据,我们需要按其中的“品名/规格”列的数据对“数量”列进行求和。可以执行以下操作。
<1>打开保存工作簿文件的文件夹,按住Ctrl键,选中多个工作簿后按下Enter键将这些工作簿同时打开。
同时打开多个工作簿
<2>按下Ctrl+N键创建一个空白工作簿,选中A1单元格,选择【数据】选项卡,单击【数据工具】命令组中的【合并计算】按钮。
<3>打开【合并计算】对话框,单击【引用位置】编辑框后的按钮。
<4>选中“一月”工作簿中的C1:D13区域后按下Enter键。
<5>返回【合并计算】对话框,单击【添加】按钮,将获取的位置添加至【所有引用位置】列表框中,然后再次单击【引用位置】编辑框右侧的按钮。
<6>重复执行步骤4、5的操作,将"二月"和“三月”工作簿中的C1:D13区域也添加进【所有引用位置】列表框中,然后在【合并计算】选项区域中选中【首行】和【最左列】复选框,并单击【确定】按钮。
<7>此时,将在新建工作簿Sheet1工作表中显示下图所示的汇总结果。
这里要注意的是:“合并计算”功能对多工作簿数据进行求和计算,只能用选中表格区域最左列的数据内容对数值进行求和计算,如果我们在上例中选中的不是数据源工作簿中C1:D13区域,而是B1:D13区域。
在执行合并计算后,我们将可以根据数据源工作簿表格中的“业务类型”列的数据对“数量”列中的数值进行求和计算。得到下图所示的结果。
其中“品名/规格”列中的数据将在结果中忽略。
对多工作簿数据进行求和,其实还可以是公式和VBA来解决,其中根据不同的应用情况,使用公式来求和更加灵活。我们会在后面的篇章的进行介绍。除此之外,用户也可以参考本教程第07章实例07-3-合并多个工作簿介绍的方法。
将多个工作簿中的工作表合并在一个工作簿内,再参考本篇第1部分介绍方法,应用公式对单一工作簿中多个工作表内的数据进行求和。
上一篇:08-1-创建工作表目录
下一篇:08-3-汇总多个工作表
第一章目录:Excel入门基础
第二章目录:操作工作簿