“金士顿汇总”错误地显示在“储存卡汇总”的下面,这是Excel2003的一个Bug。在Excel2003中,出现以下情况时,可能会导致分类汇总结果的顺序不正确。
(1)汇总显示在明细数据的下方。
(2)一个或多个分类汇总片段仅包含一个项目。
由于销售统计表中储存卡仅包含金士顿一个品牌,而汇总显示在明细数据的下方,因此导致的错误显示。可以通过返回到Excel97和Excel2000的分类汇总功能来解决此问题,退出所有Microsoft Office程序,运行“regedit”命令打开注册表编辑器,在“HKEY_CURRENT_USERSoftwareMicrosoftOffice11.0ExcelOptions”注册表项下新建一个“DWORD 值”,其名称设为“Excel97Subtotals”,值设为1。退出注册表编辑器后重新打开Excel即可。
注意:如果当前工作表包含分类汇总结果,则必须删除并重新创建这些分类汇总结果才能使该修改生效。
重新进行分类汇总后的正确结果。可以清晰地看出,手机的销售额占了绝大部分,而其中多普达品牌手机约占了手机销售额的2/3(39960/60120)。
5.4.3删除分类汇总
如果由于某种原因,需要取消分类汇总的显示结果,恢复到数据列表的初始状态。其操作步骤如下。
步骤1:单击分类汇总数据列表中任一单元格。
步骤2:选择“数据”→“分类汇总”命令,打开“分类汇总”对话框。
步骤3:单击对话框中的“全部删除”按钮即可。
经过以上步骤之后,数据列表中的分类汇总就被删除了,恢复成汇总前的数据,第3步中的“全部删除”只会删除分类汇总,不会删除原始数据。
5.5使用数据透视表
数据透视表是一种对大量数据快速汇总和建立交叉列表的交互式表格,不仅能够改变行和列以查看源数据的不同汇总结果,也可以显示不同页面以筛选数据,还可以根据需要显示区域中的明细数据。数据透视图则是一个动态的图表,它可以将创建的数据透视表以图表的形式显示出来。在这一节中我们将使用数据透视表和数据透视图来完成任务4。
5.5.1数据透视表概述
数据透视表是通过对源数据表的行、列进行重新排列,提供多角度的数据汇总信息。用户可以旋转行和列以查看源数据的不同汇总,还可以根据需要显示感兴趣区域的明细数据。
在使用数据透视表进行分析之前,首先应掌握数据透视表的术语。
如果要分析相关的汇总值,尤其是要汇总较大的数据列表,并对每个数字进行多种比较时,可以使用数据透视表。图5‐32是Excel帮助系统中关于数据透视表的一个例子。
数据源是一个简单的体育用品销售记录表,记录各种运动每个季度的销售额,图中序号分别表示:①数据源;②第三季度高尔夫汇总的项(即源数据值);③数据透视表;④C2和C8中源数据值的汇总。在图5‐32中,用户可以很清楚地看到单元格F3中第三季度高尔夫销售额是如何通过其他运动、季度的销售额计算出来的。由于数据透视表是交互式的,因此,可以更改数据的视图以查看更多明细数据或计算不同的汇总额,如计数或平均值。
在数据透视表中,源数据中的每列或字段都成为汇总多行信息的数据透视表字段。
在上例中,“运动”列成为“运动”字段,高尔夫的每条记录在单个高尔夫项中进行汇总。
数据字段(如“求和项:销售额”)提供要汇总的值。上述报表中的单元格F3包含的“求和项:销售额”值来自源数据中“运动”列包含“高尔夫”和“季度”列包含“第三季度”的每一行。
当然这样的报表也可以通过数据的分类、排序或汇总计算实现,但操作过程可能会非常复杂。
5.5.2创建数据透视表
数据透视表的创建可以通过“数据透视表和数据透视图向导”进行。在向导的提示下,用户可以方便地为数据列表或数据库创建数据透视表。利用向导创建数据透视表需要3个步骤,它们分别是:第1步,选择所创建的数据透视表的数据源类型;第2步,选择数据源的区域;第3步,设计将要生成的数据透视表的版式和选项。
下面让我们来完成任务4,从销售清单中创建数据透视表,统计各个类别与各个品牌的销售数量。具体操作步骤如下。
步骤1:单击销售清单的任一非空单元格,选择“数据”→“数据透视表和数据透视图向导”菜单项,打开3步向导的第一步对话框,主要用于指定数据透视表的数据源,数据来源主要有以下4个,一般情况下,数据透视表的数据源都是数据列表或数据库。
Microsoft OfficeExcel数据列表或数据库:每列都带有列标题的工作表。
外部数据源:其他程序创建的文件或表格,如Dbase、Access、SQLServer等。
多重合并数据计算区域:工作表中带标记的行和列的多重范围。
另一个数据透视表或数据透视图:先前创建的数据透视表。
步骤2:选择数据透视表的数据源为“Microsoft OfficeExcel数据列表或数据库”,所需创建的报表类型为“数据透视表”,实际上默认情况下选择的就是这两个,单击“下一步”按钮,系统显示向导的第2步。
步骤3:向导的第2步主要用于确定数据透视表的数据源区域,默认情况下系统会自动选取包含有数据的连续数据区域,通常是正确的。如果发现自动指定的数据源区域不正确,可以在“选定区域”编辑框中输入或选择数据源区域。此处自动选定的区域A1:O36是正确的,因此直接单击“下一步”按钮,系统将显示向导的第3步。
步骤4:向导的第3步最重要,可以在这个步骤中设置数据透视表的布局,布局的设置关系到数据透视表的数据显示和正确性。单击“布局”按钮打开布局对话框,对话框的右半部分列出了数据源中的所有字段,可以将这些字段按钮拖放到左半部分图中的行、列、页和数据上,左半部分图中的组成元素解释如下。
行:拖放到行中的数据字段,该字段中的每一个数据项将占据透视表的一行。本例中,我们把“类别”字段拖放到“行”中,则数据源即销售清单中的每个商品类别将各占一行。
列:与行对应,拖放到列中的字段,该字段的每个数据项将占一列。本例中,我们把“品牌”字段拖放到“列”中,则每个品牌将各占一列。
页:行和列相当于X 轴和Y 轴,确定一个二维表格,页相当于Z 轴。拖放到页中的字段,Excel将按该字段的数据项对透视表进行分页。本例中,我们把“售出日期”字段拖放到“页”中,Excel将把数据透视表分为若干页,每页只显示一天的商品销售情况。
数据:进行计算或汇总的字段名称。我们的目标是统计出各个类别与各个品牌商品的销售数量,因此将“数量”字段拖放到“数据”中。
步骤5:设置好的布局,单击“确定”按钮,就会返回,然后单击“完成”按钮,系统会新建一个工作表Sheet1,生成的数据透视表。
一个非常有用的分析汇总数据的表格,从中不但可以看出每个类别商品的销售总数,也可以看出各个品牌商品的销售总数,还可以看出各个类别中各个品牌的商品销售情况。在此表的基础上还可以做出各种数据分析图。
默认情况下,Excel会显示出全部透视数据,即本月所有的数据。如果要显示某一天的透视数据,我们可以在分页字段“售出日期”下拉列表中选择一个日期,查看该天的数据。
数据透视表是一个非常友好的数据分析和透视工具。表中的数据是“活”的,可以“透视”表中各项数据的具体来源,即明细数据。例如从表中可以看出多普达的手机本月卖了9部,如果要查看这些手机的详细销售记录,只需双击这个数据所在的D5单元格,Excel就会在一个新工作表中显示出这些手机的详细记录。
数据透视表生成之后,最好将工作表的名称进行重命名,给它取个有意义的名字,此处我们将它命名为分类统计报表(覆盖已有的分类统计报表)。
5.5.3修改数据透视表
创建好数据透视表之后,根据需要有可能要对它的布局、数据项、数据汇总方式与显示方式、格式等进行修改。
1.修改数据透视表的布局
在上一节中,我们使用向导创建了数据透视表。但是一般情况下,我们推荐在生成的数据透视表中来设置布局。在上一节向导的第3步中我们可以不设置布局,直接单击“完成”按钮,生成一个数据透视表。
在工作表中可以将数据透视表字段列表中的字段拖动到行、列、数据和页字段处,直接修改数据透视表的布局,修改的过程都是可视化的。例如我们将“类别”字段拖到标有“将行字段拖至此处”的区域,工作表就会在每一行显示一个类别。
我们再将“品牌”字段拖到标有“将列字段拖至此处”的区域,将“数量”字段拖到标有“请将数据项拖至此处”的区域,将“售出日期”拖到标有“请将页字段拖至此处”的区域,就可以得到与相同的数据透视表。
在生成的数据透视表中,可以根据需要对布局进行修改。
若要重排字段,请将这些字段拖到其他区域。例如有时由于某种需要,可能要将透视表中的行和列互换一下,用另一种方式表示数据。我们的类别和品牌互换,只需将鼠标移到行字段“类别”上,按住鼠标左键,将字段拖放到列字段“品牌”的旁边,然后用同样的方法,把列字段“品牌”拖放到原来“类别”字段所在位置。
若要删除字段,请将其拖出数据透视表。上面的行和列互换例子中,也可以先删除原先的行、列字段,然后重新拖放新的行字段“品牌”和列字段“类别”。删除字段的具体方法如下:将鼠标移到行字段“类别”上,按住鼠标左键将字段拖出数据透视表区域,用同样的方法将列字段“品牌”删除。
若要隐藏拖放区域的外边框,请单击数据透视表外的某个单元格。
若要添加多个数据字段,则应按所需顺序排列这些字段。方法是:用鼠标右键单击数据字段,指向快捷菜单上的“顺序”,然后使用“顺序”菜单上的命令移动该字段。例如,我们想要在数据透视表的行中显示商品名称,查看各个类别各个品牌的商品详细销售数量。我们可以在图5‐38中数据透视表的基础上修改,可以在拖放的时候事先确定行字段的顺序,将“商品名称”字段拖放到行字段“类别”之后,也可以在拖放之后按所需顺序重新排列这些字段。
2.修改数据透视表的数据项
如果不想在数据透视表中显示某些数据行或数据列,或要调整数据项显示的位置,可以通过简单的修改数据透视表的数据项达到目的。
隐藏或显示行、列中的数据项。例如,数据透视表中,不想显示储存卡的销售数量,可以单击“类别”字段旁边的下拉列表条,系统会显示的对话框,将对话框中“储存卡”前面的复选标志清除,然后单击“确定”按钮,数据透视表中就没有“储存卡”这一行的数据了。隐藏列字段数据项的操作方法与此相同,只需单击列字段的下拉列表条,从下拉列表中清除不想显示的数据项前面的复选标志即可。
调整数据项显示的位置。数据透视表中数据项可以根据需要移动至合适的位置,修改的方法也是比较简单的,拖动数据项的名称到合适的位置释放即可。