字段布局对于构建一份有意义的数据透视表来说是至关重要的。数据透视表的强大功能源于用户可以对字段进行随意的拖动、摆放,从而在几秒钟的时间内就可以彻底为数据透视表改头换面,生成具有不同商业价值的报表。本章将主要对数据透视表字段布局的各种方法进行详细介绍,同时,也介绍了一些数据透视表的基础操作。
本章要点
❖数据透视表基础操作
❖对数据透视表字段进行布局
❖推迟字段布局更新时间
❖使用Excel早期版本的方法对字段布局
在进行数据透视表的各种操作之前,有必要先来了解一下数据透视表的基础操作。这里所说的基础操作是指对数据透视表中各元素的选择方法,以及对数据透视表的重命名、复制、移动和删除等操作。
选择数据透视表中的单元格与在普通区域中选择单元格的方法是相同的。可以使用以下几种方法。
· 通过单击直接选择一个单元格,拖动鼠标选择一个连续的单元格区域。
· 按住Ctrl键的同时依次单击要选择的单元格,可以同时选择多个不连续的单元格。
· 单击一个单元格,然后按住 Shift 键再单击另一个单元格,则会选中以这两个单元格为区域边界的整个区域。
选择字段的方法其实就是上一节介绍的选择单元格的方法。只需直接单击数据透视表中要选择的字段即可。如图3-1所示选中了行字段“部门”和“姓名”。
图3-1 选择数据透视表中的字段
选择字段中的项也可以采取直接单击单元格的方法,但是通常字段中包含多个项,因此采用单击的方法来选择效率非常低,而且如果中途出现操作失误还会带来不必要的麻烦。为此,可以使用快捷方法来选择某个字段包含的所有项。例如,要选择如图3-2所示的“姓名”字段中的所有项,那么可以将鼠标移动到“姓名”字段的上边框位置,当出现下箭头时单击,即可选中该字段中包含的所有项。
可以同时选择项及其相关的数据。例如,将鼠标移动到如图3-3所示的“邓洪”项的左边框,当鼠标变为右箭头时单击,即可选中与“邓洪”有关的数据。
图3-2 选择“姓名”字段中的所有项
图3-3 选择“邓洪”项及其相关数据
如果选择的是最外层字段及其相关数据,那么结果类似于如图3-4所示。
也可以选择列字段中的项及其数据,如图3-5所示选择了位于D列中的项及其数据。可以通过拖动鼠标同时选择多个项及其相关数据。
图3-4 选择最外层字段及其相关数据
图3-5 选择列字段中的项及其相关数据
如果需要复制整个数据透视表时,就需要先选择数据透视表的整个部分。可以使用以下3种方法选择整个数据透视表。
· 将鼠标移动到数据透视表最外层行字段上方单元格的左侧,当鼠标变为右箭头时单击。
· 将鼠标移动到数据透视表最外层行字段上方单元格的上方,当鼠标变为下箭头时单击。
· 单击数据透视表内的任意一个单元格,然后单击功能区中的【选项】⇨【操作】⇨【选择】按钮,在弹出菜单中选择【整个数据透视表】命令。
除了直接在数据透视表中通过鼠标单击或拖动来选择字段、项及其数据外,还可以使用功能区中的命令来选择这些不同的元素。单击功能区中的【选项】⇨【操作】⇨【选择】按钮,在弹出菜单中可以选择数据透视表中的不同元素,如图3-6所示。其中【标签与值】相当于是字段、项及其数据对应,【值】相当于数据,【标签】相当于字段和项。
使用菜单命令选择的方法:首先确保取消图3-6菜单中【启用选定内容】命令,然后单击数据透视表中的目标单元格,再选择图3-6菜单中的【启用选定内容】命令,这样默认将使用【标签与值】选项来进行选择。此时可以选择【值】或【标签】选项来得到其他类型内容的选区。
注意:在取消选择【启用选定内容】命令后,也将无法使用鼠标在数据透视表中特定单元格的上边框通过箭头来选择一类内容。
在Excel界面中操作数据透视表时,数据透视表的名称通常无关紧要。但是如果我们使用VBA来控制数据透视表,那么数据透视表的名称就非常重要了,尤其在工作表中包含多个数据透视表时,名称更为有用,需要通过名称来区分特定的数据透视表。为此,可能就十分必要为数据透视表起一个更为有意义的名称。
默认情况下,Excel 会为新建的数据透视表以“数据透视表 n”命名,其中的 n是一个序列号,表示创建数据透视表的个数。例如,当创建第一个数据透视表时,默认名称为“数据透视表1”。再创建一个,那么数据透视表的名称就会自动变为“数据透视表2”,以此类推。要为数据透视表重新命名,可以在功能区中的【选项】⇨【数据透视表】组中操作,如图3-7所示。
图3-6 使用功能区命令选择数据透视表中的元素
图3-7 为数据透视表重命名
重命名数据透视表的另一个方法:右击数据透视表内的任意一个单元格,在弹出菜单中选择【数据透视表选项】命令,打开【数据透视表选项】对话框,在【名称】文本框中输入数据透视表的新名称。
用户可以非常方便地复制数据透视表,而且复制后的数据透视表将和原数据透视表共享同一个数据透视表缓存。只需使用3.1.5节中介绍的方法选择整个数据透视表,然后按Ctrl+C组合键,单击要放置数据透视表的左上角单元格,再按Ctrl+V组合键即可完成复制操作。
移动数据透视表很简单,可以将数据透视表从工作表的一个位置移动到另一个位置,也可以从一个工作表中移动到另一个工作表中。单击要移动的数据透视表中的任意一个单元格,然后功能区中的【选项】⇨【操作】⇨【移动数据透视表】按钮,打开如图3-8所示的对话框。选择要将数据透视表移动到的目标位置,然后单击【确定】按钮即可。
图3-8 选择要将数据透视表移动到的位置
如果数据透视表不再有用,那么可以将其删除。如果数据透视表单独占据了一张工作表,那么可以通过删除工作表的同时删除其中包含的数据透视表;否则可以单击数据透视表中的任意一个单元格,然后单击功能区中的【选项】⇨【操作】⇨【清除】按钮,在弹出菜单中选择【全部清除】命令,这样可以清除数据透视表中的所有字段布局,而恢复为一个空白的数据透视表。
通过对字段进行不同的布局,可以构建出灵活多变的报表,每个报表可以展示数据的不同分析结果。因此,非常有必要熟练掌握字段布局的相关操作。
在创建一个数据透视表后,会在Excel窗口右侧自动打开类似于如图3-9所示的【数据透视表字段列表】窗格。窗格上方的列表框中列出了所有可用于布局数据透视表的字段,这些字段对应于数据源中每一列顶部的标题;窗格下方包含4个列表框,每个列表框代表数据透视表中的一个区域,可以将字段放置在这些列表框中,从而构建出不同结构的数据透视表。
默认情况下打开的【数据透视表字段列表】窗格如图3-9所示,但是可以根据自己的使用习惯和实际需要改变【数据透视表字段列表】窗格的外观。单击【数据透视表字段列表】窗格右上角的
按钮,在弹出菜单中提供了5种不同的窗格外观,如图3-10所示。
图3-9【数据透视表字段列表】窗格
图3-10 有5种窗格外观供用户选择
菜单中各选项含义如下。
· 字段节和区域节层叠:该布局是【数据透视表字段列表】窗格的默认外观。
· 字段节和区域节并排:该布局将使字段列表位于窗格的左侧,用于放置字段的区域位于窗格的右侧,如图3-11所示。如果字段数量比较多,那么可以使用该布局。
· 仅字段节:该布局将在窗格中只显示字段列表,如图3-12所示。如果字段数量特别,可以使用该布局查看数据透视表中包含哪些字段。
· 仅 2×2 区域节:该布局不会在窗格中显示字段列表,而只显示用于放置字段的4个区域,如图3-13所示。如果不再需要向数据透视表中放置新的字段,而只对原有字段进行可能的调整,那么就可以使用该布局。
· 仅1×4区域节:该布局是【2×2区域节】的一个变体,将4个用于放置字段的列表框呈单列显示在窗格中,如图3-14所示。如果字段的名称比较长,那么可以使用该布局,这样可以使字段的名称完全显示出来。
图3-11【字段节和区域节并排】窗格布局
图3-12【仅字段节】窗格布局
图3-13【仅2×2区域节】窗格布局
图3-14【仅1×4区域节】窗格布局
注意:默认情况下,如果单击数据透视表以外的区域,将自动隐藏【数据透视表字段列表】窗格。只要再次单击数据透视表区域内的任意一个单元格,即可重新显示【数据透视表字段列表】窗格。除此之外,还可以强制隐藏或显示【数据透视表字段列表】窗格,具体方法请参考本书第5章。
提示:也许您已经注意到在【数据透视表字段列表】窗格的底部有一个【推迟布局更新】复选框和一个【更新】按钮。关于它们的功能和使用方法请参考本章3.3节。
该方法已经在第2章中用过了,其实就是让Excel根据默认规定安排字段在数据透视表中的摆放位置。如果字段中包含的项是文本内容,那么Excel会自动将该字段放置到行区域中,如果字段中包含的项是数值,那么Excel会自动将该字段放置到值区域中。
由此也可以看出Excel自动对字段布局的缺陷:Excel不会主动将字段添加到报表筛选区域和列区域中。如果想构建复杂的数据透视表,那么只有通过用户手动将字段添加到这两个区域中。
对字段布局最方便快捷的方法就是直接将字段拖动到【数据透视表字段列表】窗格底部的4个列表框中。如果列表框中可能要包含多个字段,那么需要注意各字段的放置顺序将决定最终报表的结果。例如,如图3-15所示显示了【部门】和【学历】字段在【行标签】列表框中两种不同放置顺序所生成的报表的区别,上面的报表显示了每个部门不同学历的员工的工资情况,而下面的报表则显示了每类学历中不同部门的员工的工资情况。这就是由于在【行标签】列表框中字段的上下位置不同而导致的两种不同结果。
图3-15 字段的不同放置顺序将会得到不同结果的报表
图3-15 字段的不同放置顺序将会得到不同结果的报表(续)
除了前面介绍的两种字段布局的方法外,还可以使用命令来确定字段的放置位置。使用命令法对字段布局可以分为两种方法:一种是通过命令将字段列表中的字段向【数据透视表字段列表】窗格底部的4个列表框移动;另一种是通过命令调整【数据透视表字段列表】窗格底部的4个列表框中的字段位置。
右击字段列表中的任意一个字段,会弹出如图3-16所示的菜单,其中包含了用于向【数据透视表字段列表】窗格底部的4个列表框移动的命令,可以使用这些命令对指定字段布局。
另一种方法主要用于调整已经位于【数据透视表字段列表】窗格底部的4个列表框中的字段的位置。此时可以单击这4个列表框中的字段,弹出如图3-17所示的菜单,根据当前字段所在的区域,菜单中会包含另外3个区域的名称。例如在图3-17中,字段位于【行标签】列表框中,因此在菜单中的【移动到报表筛选】、【移动到列标签】、【移动到数值】命令可用,而【移动到行标签】命令呈灰色不可用状态。
此外,在图3-17中的菜单中还包含一些用于调整在一个列表框内部多个字段相对位置的命令。例如,可以通过选择【上移】或【下移】命令将字段从当前位置向上移动或向下移动一个位置;或者可以选择【移至开头】或【移至末尾】命令直接将字段移动到当前列表框内所有字段的顶部或底部。
图3-16 使用右键菜单对字段布局
图3-17 使用列表框中字段的弹出 菜单调整字段的位置
如果错误地放置了字段位置,那么可以通过本章前面介绍的方法来重新调整字段的位置。但是如果需要调整的字段数量众多,那么与其对它们的位置进行调整,还不如从头再来,即重新对所有字段进行布局。单击数据透视表中的任意一个单元格,然后单击功能区中的【选项】⇨【操作】⇨【清除】按钮,在弹出菜单中选择【全部清除】命令,这样可以清除数据透视表中的所有字段布局,而恢复为一个空白的数据透视表,如图3-18所示。此后,重新对字段进行布局即可。
图3-18 使用【全部清除】命令清空数据透视表中的所有字段
对于值区域的字段名称来说,不是以“求和项:”开头,就是以“计数项:”开头,如图3-19所示的单元格A3。如果希望值区域中的字段名称更有意义,那么可以修改字段名称。
图3-19 一个字段名称中包含“求和项:”的示例
可以使用下面两种方法来修改字段名称。
· 单击值字段所在的单元格,然后输入新名称,如图3-20所示(单元格A3)。输入后按Enter键确认。
· 右击值字段所在的单元格,或右击值区域中的任意一个单元格,在弹出菜单中选择【值字段设置】命令。打开如图3-21所示的【值字段设置】对话框,在【自定义名称】文本框中输入字段的新名称,然后单击【确定】按钮。
图3-20 修改字段的名称
图3-21 修改值字段的名称
使用类似的方法,还可以修改报表筛选字段、行字段、列字段的名称。只不过在修改这些字段时的右击菜单中使用【字段设置】命令代替了【值字段设置】命令,而打开的对话框标题栏中显示的是“字段设置”而非“值字段设置”。
注意:在修改字段名称后,如果将其从数据透视表中删除,当以后再次将其添加到数据透视表中时,名称将恢复为初始状态。
当修改值字段的名称后,【数据透视表字段列表】窗格中相应字段的名称并未改变,但是如果修改了其他3类字段的名称,那么【数据透视表字段列表】窗格中的相应字段的名称则会改变,如图3-22所示。
图3-22 修改值字段和其他类字段名称后【数据透视表字段列表】窗格中字段名称的变化
无论数据透视表中的字段名称如何改变,数据源中相应字段的名称不会发生任何变化。
用户经常遇到的一个问题是,希望将值字段中默认的“求和项:”或“计数项:”删除,而只保留“求和项:”或“计数项:”后面的文字,但是如果在修改字段名称时直接删除“求和项:”或“计数项:”并按Enter键,那么将会收到如图3-23所示的提示信息,提醒用户在当前的数据透视表中发现了名称相同的字段,而此重命名操作将被Excel禁止,因为Excel不允许在一个数据透视表中包含同名的字段。
图3-23 重名字段的提示信息
可以使用下面的方法来解决字段重名的问题。单击值字段所在的单元格对应的公式栏,删除默认的“求和项:”或“计数项:”,在剩余文字的最后输入一个空格。按Enter键确认名称的修改。这样从外观上看,与直接删除“求和项:”或“计数项:”后得到的字段没什么区别,如图3-24所示。但是从本质上来说,由于在名称中多加了一个空格,因此Excel认为“工资”和“工资”是两个不同的名称,所以重命名操作顺利通过Excel的同名验证,从而实现了我们想要的效果。
图3-24 解决字段重名的问题
默认情况下,只要在【数据透视表字段列表】窗格中对字段的位置进行了调整,那么左侧的数据透视表报表结构就会立刻随之更新,以反映字段位置的最新变化。但是如果当前操作的是一个数据量巨大且包含很多计算字段和计算项的数据透视表,那么数据透视表的这种自动更新功能将会极大地降低处理速度。
解决这一问题的最好方法就是选中【数据透视表字段列表】窗格底部的【推迟布局更新】复选框。这样即使对字段的位置进行了调整,左侧的数据透视表也不会自动更新以符合字段最新的位置,如图3-25所示。
当完成所有字段的相关操作后,单击【数据透视表字段列表】窗格底部的【更新】按钮,即可对数据透视表中的所有字段更改进行全面更新,从而得到新的数据透视表报表。
注意:当启用【推迟布局更新】功能后,数据透视表的很多功能将暂时无法使用,同时可以发现功能区【选项】和【设计】选项卡中的大多数命令为禁用状态。直到取消选中【推迟布局更新】复选框。
图3-25 启用【推迟布局更新】功能后数据透视表的结构不会随字段位置而实时变化
在Excel 2003中对字段进行布局时,可以直接将【数据透视表字段列表】窗格中的字段拖动到数据透视表的指定区域中。然而在Excel 2010中需要使用前面介绍的几种方法来布局字段。但是Excel 2010并未取消Excel 2003的这种布局方式,只是默认情况下没有开启此功能。如果用户喜欢Excel 2003版本中对字段布局的方式,那么可以开启该功能,具体操作如下。
1 右击数据透视表中的任意一个单元格,在弹出菜单中选择【数据透视表选项】命令。
提示:也可以单击功能区中的【选项】⇨【数据透视表】⇨【选项】按钮。
2 打开【数据透视表选项】对话框,切换到【显示】选项卡,然后选中【经典数据透视表布局(启用网格中的字段拖放)】复选框,如图3-26所示。
3 单击【确定】按钮,关闭【数据透视表选项】对话框。单击功能区中的【选项】⇨【操作】⇨【清除】⇨【全部清除】按钮,得到一个如图3-27所示的空白数据透视表。每个区域中都有文字标示,用户只需将字段直接拖动到这些区域中即可。这样,构建数据透视表的操作会更加直观。
图3-26 启用Excel早期版本的字段布局方法
图3-27 直接将字段拖动到数据透视表中的指定区域
为了使数据透视表可以实时反映数据源的最新情况,当数据源的内容有所改变时,就需要对数据透视表进行刷新,从而使用数据源的最新内容来更新数据透视表。本章将介绍手动和自动刷新数据透视表的多种方法。
本章要点
❖刷新数据透视表的时机
❖手动刷新数据透视表
❖自动刷新数据透视表
什么时候需要刷新数据透视表中的数据呢?通常在两种情况下必须刷新数据:修改了数据源中的某些内容;改变了数据源的区域大小,例如新增或删除了数据源中的某些行或列,从而导致数据区域变大或变小。至于刷新数据透视表的方法,可谓多种多样,而且适用于不同情况。
那么为什么必须刷新数据透视表呢?答案很简单,因为不刷新数据透视表,就不能在数据透视表中体现数据源的最新内容。换句话说,如果在创建数据透视表后对数据源又进行了修改,那么在不刷新的情况下,数据透视表中所使用的字段和数据都是数据源修改前的内容。
刷新数据透视表最简单的方法就是使用手动刷新,即通过单击功能区的命令来完成刷新操作。然而,虽然是手动刷新,但是操作起来并不麻烦。根据数据源的范围是否发生改变,手动刷新可以分为两种情况。
最简单的一种情况就是,对数据源中的一个或多个单元格中的内容进行了修改,与创建数据透视表之初时的数据源已经不完全一样了。如果希望数据透视表可以及时地捕获新的数据源内容,那么就需要对数据透视表执行刷新操作。
为了便于演示修改数据源前后以及刷新数据透视表前后的效果,本例中只使用了少量的数据,如图4-1所示为数据源。
图4-1 原始数据源
首先我们使用如图4-1所示的数据源创建一个数据透视表,对字段布局后的结果如图4-2所示。
图4-2 使用原始数据源创建的数据透视表
接下来,我们将数据源中所有部门为“工程部”的工资都改为5000,结果如图4-3所示。可以发现,数据透视表“部门”字段中的“工程部”项中的数据并没有随数据源而自动变化。
图4-3 修改后的数据源
接下来是最重要的一步,右击数据透视表中的任意一个单元格,在弹出菜单中选择【更新】命令,或者单击功能区中的【选项】⇨【数据】⇨【刷新】按钮。此时,数据透视表中“部门”字段中的“工程部”项中的数据会自动更新,结果如图 4-4所示。
提示:除了手动刷新数据透视表外,还可以在打开工作簿时自动更新数据透视表数据,具体方法请参考本章4.3.1节。
图4-4 更新数据透视表中的数据
当数据透视表的数据源范围扩大或缩小后,此时就不能使用4.2.1节介绍的刷新数据透视表的方法来自动获取最新的数据源范围,而需要使用下面的方法,具体操作如下。
1 单击数据透视表区域中任一单元格,然后单击功能区中的【选项】⇨【数据】⇨【更改数据源】按钮。
2 打开【更改数据透视表数据源】对话框,而且将自动切换到数据源所在的工作表,虚线框包围的区域是原来的数据源范围,如图4-5所示。
图4-5 虚线框包围的区域是原来的数据源范围
3 在数据源所在的工作表中选择改变后的数据源范围,如图4-6所示。
图4-6 选择数据源的最新范围
4 单击【确定】按钮,返回数据透视表所在的工作表,将使用新选择的数据源范围来更新数据透视表中的内容,如图4-7所示。
图4-7 使用新的数据源范围更新数据透视表的内容
技巧:使用OFFSET函数可以创建动态的数据透视表,具体方法请参考本书第11章。
除了上一节介绍的手动刷新数据透视表的方法以外,我们还可以通过自动刷新来避免手动操作的麻烦,从而让数据透视表的刷新实现自动化操作。可以在打开工作簿时自动刷新其中指定的数据透视表,也可以定时刷新数据透视表,还可以使用VBA代码刷新工作簿中的多个数据透视表。
如果希望在每次打开包含数据透视表的工作簿时,无论数据源中的内容是否有所修改,都先对数据透视表刷新一遍,那么可以进行以下设置。
1 右击数据透视表中的任意一个单元格,在弹出菜单中选择【数据透视表选项】命令。
2 打开【数据透视表选项】对话框。在【数据】选项卡中选中【打开文件时刷新数据】复选框,如图4-8所示。
图4-8 选中【打开文件时刷新数据】复选框
3 单击【确定】按钮,完成设置。
技巧:可以在刷新数据透视表时自动调整数据透视表中单元格的列宽,使列宽正好能够容纳单元格中内容的宽度。右击数据透视表中任意一个单元格,在弹出菜单中选择【数据透视表选项】命令,打开【数据透视表选项】对话框。在【布局和格式】选项卡中选中【更新时自动调整列宽】复选框,如图4-9所示,然后单击【确定】按钮。
如果使用外部数据源创建的数据透视表,那么我们还可以让数据透视表在指定时间间隔自动定时刷新。这样可以实现过一段指定时间就自动刷新一次数据透视表,从而使用户从实时监控数据源并手动刷新中解脱出来。
例如,我们可以在Excel中使用另一个工作簿中的工作表数据来作为数据源,从而创建一个数据透视表,然后设置定时刷新,具体操作如下。
1 新建一个工作簿,然后单击功能区中的【数据】⇨【获取外部数据】⇨【现有连接】按钮,打开【现有连接】对话框,如图4-10所示。
图4-9 选中【更新时自动调整列宽】复选框
图4-10【现有连接】对话框
2 单击【浏览更多】按钮,打开【选取数据源】对话框,选择包含数据源的工作簿,如图4-11所示。
图4-11 选择数据源
3 单击【打开】按钮,打开【选择表格】对话框,选择数据源所在的工作表,如图4-12所示。
图4-12 选择数据源所在的工作表
4 单击【确定】按钮,打开如图4-13所示的【导入数据】对话框,选中【数据透视表】单选框,然后选择要创建数据透视表的位置。
图4-13 选中【数据透视表】单选框并指定位置
5 单击【属性】按钮,打开【连接属性】对话框,在【使用状况】选项卡中选中【刷新频率】复选框,并在右侧设置一个时间间隔(以分钟为单位),如图 4-14所示。
图4-14 设置刷新的时间间隔
6 单击两次【确定】按钮,将在当前工作表中创建一个可以自动定时刷新的数据透视表。
如果以后需要调整刷新的时间间隔,那么可以单击数据透视表内的任意一个单元格,然后单击功能区中的【选项】⇨【数据】⇨【更改数据源】按钮,在弹出菜单中选择【连接属性】命令,如图4-15所示。然后在打开的【连接属性】对话框中修改刷新频率即可。
图4-15 选择【连接属性】命令
如果希望刷新工作簿中的多个数据透视表,最麻烦的一种方法是为每一个数据透视表按照4.3.1节的方法设置打开工作簿时自动刷新。如果觉得这种方法太麻烦,那么可以编写VBA代码来批量刷新工作簿中的多个数据透视表。代码如下:
通常情况下,默认创建的数据透视表并不一定满足我们的需要。此时我们可以使用Excel提供的丰富功能来自由定制数据透视表的外观。可以对数据透视表进行定制的选项包括很多,例如,可以改变数据透视表的整体布局,也可以对数据透视表的某个部分进行调整;可以灵活设置数据透视表内元素的显示状态,也可以控制是否显示数据透视表中的总计和汇总;还可以设置数据透视表中数据的格式,使其符合实际所需的格式。本章将全面介绍定制数据透视表外观的方法。
本章要点
❖改变数据透视表的整体布局
❖显示/隐藏数据透视表中的元素
❖设置数据透视表的样式
❖设置总计的显示方式
❖设置汇总的显示方式
❖设置值区域中数据的格式
从Excel 2007开始,数据透视表可以使用3种布局形式,而默认创建的数据透视表将使用压缩形式布局,但用户可以在创建数据透视表后随时改变布局形式。Excel 2010延续了Excel 2007的布局类型,仍然提供了3种布局,可以通过单击功能区中的【设计】⇨【布局】⇨【报表布局】按钮,然后在弹出菜单中切换数据透视表的布局形式,如图5-1所示。
默认情况下,Excel 2010将对创建的数据透视表使用压缩布局形式,这种布局将所有的行字段堆积在一列中。如果在数据透视表中放置了多个行字段,那么采用压缩布局会将字段进行分层处理,显示出类似于资源浏览器中的树状文件结构。通常使用压缩布局可以节省横向空间,而将多个行字段压缩在一列中。
单击功能区中的【设计】⇨【布局】⇨【报表布局】按钮,在弹出菜单中选择【以压缩形式显示】命令,将切换到如图5-2所示的压缩布局形式。这里的行区域包含了“部门”和“职位”两个字段,这两个字段中包含的项依层次展开,每个具体的部门下方包含了不同的职位,这种结构与 Windows 资源浏览器中的树状结构是极其相似的。正是由于这种结构,因此可以展开或折叠某个字段中的项,从而显示或隐藏字段中包含的项。另外,在压缩布局形式中,Excel 会将父字段项的汇总值显示在与父字段同行的右侧,即每组顶部。
图5-1 切换数据视表的布局形式
图5-2 压缩布局形式
提示:有关查看数据透视表明细数据的方法请参考本书第6章。
为了便于描述,我们可以将具有高层次的字段项称为父字段项,而其下属的字段项则称为子字段项,这种称呼的方法是相对而言的。例如,在上图中“财务部”是其下属的“总经理”字段项的父字段项,而“总经理”字段项则是“财务部”字段项的子字段项。
单击功能区中的【设计】⇨【布局】⇨【报表布局】按钮,在弹出菜单中选择【以大纲形式显示】命令,将切换到如图5-3所示的大纲布局形式,该布局根据数据透视表中放置的行字段数量和位置,将行字段由左到右依次展开排列,最左侧的行字段对应于【数据透视表字段列表】窗格【行标签】列表框中位于顶部的字段,其他字段以此类推。
如果需要将数据透视表中的数据复制到新的位置以便进行其他再利用或处理,那么使用大纲布局将比压缩布局要合适。但是与压缩布局相同,大纲布局也将每个父字段项的汇总值显示在与父字段项同行的右侧,即每组顶部。
单击功能区中的【设计】⇨【布局】⇨【报表布局】按钮,在弹出菜单中选择【以表格形式显示】命令,将切换到如图5-4所示的表格布局形式,该布局与大纲布局类似,也是根据数据透视表中放置的行字段数量和位置,将行字段由左到右依次展开排列。但是表格布局将每个父字段项的汇总值显示在每组的底部。在大多数情况下,使用表格布局可能使数据看上去更直观、更清晰。
图5-3 大纲布局形式
图5-4 表格布局形式
提示:可以人为控制数据透视表中汇总出现的位置,具体方法请参考本章5.5.2节。
在默认创建的数据透视表中,只要鼠标位于数据透视表内部,就会自动显示【数据透视表字段列表】窗格、行字段和列字段的标题,以及用于显示或隐藏明细数据的展开和折叠按钮。用户可以自由指定这几类与数据透视表紧密相关的元素的显示状态。
默认情况下,创建数据透视表时将自动在Excel窗口右侧显示【数据透视表字段列表】窗格。如果对字段完成布局后,只需要查看数据透视表报表结果而不需要修改数据透视表的布局,那么可以将【数据透视表字段列表】窗格隐藏起来,这样可以扩大报表的可视区域。要隐藏【数据透视表字段列表】窗格,只需单击数据透视表内的任意一个单元格,然后单击功能区中的【选项】⇨【显示】⇨【字段列表】按钮,如图5-5所示。
图5-5 通过单击【字段列表】按钮隐藏【数据透视表字段列表】窗格
默认情况下,Excel 会在创建的数据透视表中显示行字段和列字段的标题。如果希望隐藏行字段和列字段标题,需要单击数据透视表内的任意一个单元格,然后单击功能区中的【选项】⇨【显示】⇨【字段标题】按钮。如图 5-6 所示为隐藏行、列字段后的数据透视表,采用的是表格布局形式。
图5-6 隐藏行、列字段的标题
默认情况下,如果在【数据透视表字段列表】窗格的【行标签】或【列标签】列表框中包含了两个或两个以上的字段,那么在数据透视表报表中就会对不同区域中的多个字段按层次进行排列。
例如,在如图5-7所示的数据透视表中,在【行区域】中包含【部门】和【职位】两个字段,其中【部门】字段是【职位】字段的父字段,也就是说,每个部门都会包含不同的职位,并且在【部门】字段每一项标题的左侧都会包含一个折叠按钮,单击该按钮可以折叠部门中包含的职位。
图5-7 包含折叠按钮的行字段
如果不想显示字段的展开
或折叠
按钮,那么可以将它们隐藏起来。单击数据透视表内的任意一个单元格,然后单击功能区中的【选项】⇨【显示】⇨【+/-按钮】按钮。如图5-8所示为隐藏展开/折叠按钮后的数据透视表。
图5-8 隐藏展开和折叠按钮
注意:虽然隐藏了字段的展开/折叠按钮,但是仍可以通过双击字段来显示或隐藏叠字段中包含的子数据项。
默认情况下,当使用大纲布局或表格布局时,外层字段项只会显示一次。例如,在如图5-9所示的数据透视表中使用了表格布局形式,单元格A6中显示了财务部,其下属的职位包含4个标题,但是“财务部”只在顶部显示一次,而不是在每个职位的左侧都显示。
图5-9 使用表格布局形式的数据透视表
Excel 2010提供了可以重复显示某一个字段项的功能。例如,如果希望每一个职位的左侧都显示其所属的部门名称,那么无须手工输入部门名称,此时可以单击功能区中的【设计】⇨【布局】⇨【报表布局】按钮,在弹出菜单中选择【重复所有项目标签】命令,如图5-10所示。
图5-10 自动填充所有字段项标题
如果想恢复原来的显示方式,那么可以单击数据透视表内的任意一个单元格,然后单击功能区中的【设计】⇨【布局】⇨【报表布局】按钮,在弹出菜单中选择【不重复项目标签】命令。
如果希望改变数据透视表的整体外观,那么可以从数据透视表的样式入手。通过样式可以从全局改变数据透视表的外观,主要是对数据透视表中不同区域的填充色和边框线的调整。
Excel内置了85种数据透视表样式供用户使用,只要单击数据透视表内的任意一个单元格,然后在功能区中的【设计】⇨【数据透视表样式】组中可以打开如图5-11所示的数据透视表样式列表,其中的样式被分为3组:浅色、中等深浅、深色,越靠列表底部的样式越复杂。
图5-11 Excel内置的数据透视表样式
直接单击列表中的任何一种样式,即可改变当前数据透视表的外观。如图5-12所示为选择【浅色】组中名为【数据透视表样式浅色8】的样式后的数据透视表。
提示:可以通过功能区中的【设计】⇨【数据透视表样式选项】组中的选项改变数据透视表中的行、列边框与填充效果。例如,如果选中【镶边行】和【镶边列】复选框,那么图5-12中的数据透视表将变为如图5-13所示,Excel将自动加深行和列之间的边框线。
图5-12 使用【数据透视表样式浅色8】样式改变数据透视表的外观
图5-13 通过样式选项改变数据透视表的外观
如果觉得内置的数据透视表样式都不太合适,那么可以创建自定义样式。打开数据透视表样式列表,选择底部的【新建数据透视表样式】命令,打开如图5-14所示的【新建数据透视表快速样式】对话框。
在该对话框中,可以由用户任意指定数据透视表的外观。首先在【名称】文本框中输入自定义样式的名称,然后在【表元素】列表框中选择要设置的内容,接着单击【格式】按钮,在打开的【设置单元格格式】对话框中对所选内容进行格式设置,主要包括边框和底纹的设置。
图5-14【新建数据透视表快速样式】对话框
重复上面的步骤,直到设置好【表元素】列表框中所需的所有数据透视表元素。在设置的过程中,【新建数据透视表快速样式】对话框右侧的预览会反映出样式的外观变化,如图5-15所示。如果对某个表元素进行了修改,那么Excel将以黑色字体显示。
图5-15 在预览中可以看到自定义样式的外观
单击【确定】按钮,创建自定义样式。当再次打开数据透视表样式列表时,可以在顶部看到新建的自定义样式,并自动将其划分到【自定义】组中,将鼠标指向该样式可以看到数据透视表外观的变化,如图5-16所示。
技巧:如果创建的样式与内置的样式类似,那么可以先复制已有样式,然后对复制的样式进行修改即可。要复制样式,只需右击数据透视表样式列表中的某个样式,在弹出菜单中选择【复制】命令,即可复制该样式。
图5-16 为数据透视表设置自定义样式
每次创建数据透视表时,都会自动为数据透视表设置默认的样式,这样最初创建的数据透视表就已经具有一定的外观。但如果不喜欢这种默认的样式,那么可以任意指定一种内置或自定义的样式为创建数据透视表时默认的外观,方法很简单,右击数据透视表列表中的一种喜欢的样式,在弹出菜单中选择【设为默认值】命令,如图5-17所示。
图5-17 将任意样式设置为默认样式
如果数据透视表样式正位于【新建数据透视表快速样式】对话框中,那么可以通过选中对话框底部的【设为此文档的默认数据透视表快速样式】复选框,将自定义样式指定为创建数据透视表时使用的默认样式。
主题是指将一组设置好的字体、颜色、外观效果组合到一起,形成多种不同的界面设计方案。可以在多个不同的主题之间切换,从而灵活地改变演示文稿的整体外观。Word 2010、Excel 2010和PowerPoint 2010共享相同的主题。可以使用Excel预置的主题,也可以创建自定义主题。
默认情况下,Excel工作簿会自动使用名为【Office】的主题。要使用其他主题,可以单击功能区中的【页面布局】⇨【主题】⇨【主题】按钮,打开如图5-18所示的主题列表,从中选择任意一种主题。主题的更改会影响工作簿中所有工作表中的形状、图表、数据透视表等内容的外观。
图5-18 Excel主题列表
只要对当前主题进行了任何一点改动,保存后即可成为自定义主题,可将自定义主题应用到其他工作簿中。创建自定义主题的具体操作如下。
1 对当前主题进行所需的任何修改,使用功能区【页面布局】⇨【主题】组中的【颜色】、【字体】和【效果】按钮修改主题颜色、主题字体和主题效果。
2 单击功能区中的【页面布局】⇨【主题】⇨【主题】按钮,打开主题列表,选择【保存当前主题】命令。
3 打开如图5-19所示的【保存当前主题】对话框,此时自动定位到【Document Themes】文件夹中,该文件夹就是存放Office主题的位置。
4 在【文件名】文本框中输入自定义主题的名称,然后单击【保存】按钮,即可创建自定义主题。当再次打开主题列表时,就可以在列表顶部看到新建的自定义主题。
图5-19 保存自定义主题
如果感觉数据透视表中的数据过于拥挤,那么可以在每组数据之间插入空白行,以便将各组数据划分得整齐有序。具体操作如下所示。
1 单击数据透视表内的任意一个单元格,激活功能区中的【设计】选项卡。
2 单击功能区中的【设计】⇨【布局】⇨【空行】按钮,在弹出菜单中选择【在每个项目后插入空行】命令,即可在数据透视表中的每组数据之间自动添加一个空行,如图5-20所示。
图5-20 为每组数据添加空行
如果将数据透视表转换为表格布局形式,插入空行后的效果可能会更好,如图5-21所示。
如果需要删除每组之间的空行,只需单击数据透视表内的任意一个单元格,然后单击功能区中的【设计】⇨【布局】⇨【空行】按钮并选择【删除每个项目后的空行】命令。
图5-21 表格布局形式下的空行效果
对于表格布局形式的数据透视表来说,默认情况下外部行字段项在每组中只会显示一次,可以使用5.2.4节中的方法让Excel自动填充字段项。但有时并不希望重复显示同样的标题,而是希望将标题显示在每个组左侧的中间位置,这就需要通过合并单元格来完成。具体操作如下所示。
1 右击数据透视表内的任意一个单元格,在弹出菜单中选择【数据透视表选项】命令。
2 打开【数据透视表选项】对话框,在【布局和格式】选项卡中选中【合并且居中排列带标签的单元格】复选框,如图5-22所示。
图5-22 选中【合并且居中排列带标签的单元格】复选框
3 单击【确定】按钮,将对数据透视表中的外部行字段和列字段进行单元格的合并处理,如图5-23所示。
注意:无法通过手工合并的方法来合并数据透视表中的行字段,即使用功能区中的【开始】⇨【对齐方式】⇨【合并后居中】按钮无效。
图5-23 合并外部行字段
默认情况下,创建的数据透视表中包含行和列的总计(如图5-24所示),这样可以直观地反映出数据的总和情况。用户也可以根据需要开启或关闭总计功能。
图5-24 默认情况下在数据透视表中自动显示行和列的总计
如果不希望显示行数据和列数据的总计,那么可以单击数据透视表内的任意一个单元格,然后单击功能区中的【设计】⇨【布局】⇨【总计】按钮,在弹出菜单中选择【对行和列禁用】命令,如图5-25所示。
禁用行和列总计后的数据透视表如图5-26所示,此时将隐藏总计行和总计列。
图5-25 菜单中的命令可以控制行、列总计的显示方式
图5-26 不显示总计行和总计列
默认创建的数据透视表是显示总计行和总计列的,但是如果已经隐藏了总计行和总计列,那么可以通过单击数据透视表内的任意一个单元格,然后单击功能区中的【设计】⇨【布局】⇨【总计】按钮,在弹出菜单中选择【对行和列启用】命令来重新显示总计行和总计列。
如果只想显示总计行,而不想显示总计列,那么可以单击数据透视表内的任意一个单元格,然后单击功能区中的【设计】⇨【布局】⇨【总计】按钮,在弹出菜单中选择【仅对行启用】命令。此时将只显示总计行(数据透视表的底部),而不显示总计列,如图5-27所示。
如果只想显示总计列,而不想显示总计行,那么可以单击数据透视表内的任意一个单元格,然后单击功能区中的【设计】⇨【布局】⇨【总计】按钮,在弹出菜单中选择【仅对列启用】命令。此时将只显示总计列(数据透视表的最右侧),而不显示总计行,如图5-28所示。
图5-27 只显示总计行
图5-28 只显示总计列
与总计类似,在创建数据透视表时会自动显示每组数据的汇总值。当然,用户也可以根据实际情况决定是否显示汇总数据。尤其在数据透视表中包含多个行字段时,为了避免多个分类汇总带来的混乱,因此通常会关闭分类汇总的显示。
默认情况下,在创建数据透视表后,Excel会自动对值区域中的数据按求和或计数来进行汇总。如果数据源中的数据是数字,那么将自动进行求和;如果数据源中的数据是文本,那么将自动进行计数。然而,非常值得注意的是,如果数据源中只要有一个单元格是文本或为空,在创建数据透视表后,Excel也会对这些数据进行计数而不是求和运算,这样将导致严重的错误。
然而,除了常用的求和与计数这两种汇总方式外,还可以使用其他汇总方式来得到不同的汇总统计结果,包括平均值、最大值、最小值、乘积、标准偏差等。右击数据透视表中值区域中的任意一个单元格,在弹出菜单中选择【值汇总依据】命令,在弹出的子菜单中可以选择不同的汇总方式,如图5-29所示。
提示:如果希望使用更多的汇总方式,那么可以在图5-29中所示的菜单中选择【其他选项】命令,打开如图5-30所示的【值字段设置】对话框,然后在【选择用于汇总所选字段数据的计算类型】列表框中选择其他汇总函数。
图5-29 选择数据的汇总方式
如图5-31所示为统计每个部门的工资最大值的汇总结果。
图5-30 在【值字段设置】对话框中
图5-31 统计每个部门的工资最大值选择更多的汇总函数
在默认创建的数据透视表中自动使用压缩布局形式,而且每个组中的汇总结果自动显示在与外部行字段项同行的右侧。如果需要,可以将汇总结果放置到每组的底部。只需单击数据透视表内的任意一个单元格,然后单击功能区中的【设计】⇨【布局】⇨【分类汇总】按钮,在弹出菜单中选择【在组的底部显示所有分类汇总】命令。这样分类汇总置于每个组的底部,如图5-32所示。
图5-32 将分类汇总置于每个组的底部
可以为行字段或列字段设置多种分类汇总。默认情况下,Excel总是对行字段或列字段进行求和或计数。可以为一个字段设置多种汇总方式。例如,假设希望查看每个部门工资的最大值、最小值、平均值以及总和,那么可以对部门同时设置4个分类汇总,具体操作如下所示。
1 右击数据透视表中部门字段所在列的任意一个单元格(单元格A15),在弹出菜单中选择【字段设置】命令,如图5-33所示。
图5-33 选择【字段设置】命令
2 打开如图5-34所示的【字段设置】对话框,默认情况下,在【分类汇总和筛选】选项卡中自动选中【自动】单选框。
3 选中【自定义】单选框,然后在下方的列表框中通过单击选择一个或多个汇总函数,如图5-35所示。
图5-34 默认情况下使用【自动】汇总方式
图5-35 选择多个汇总函数
4 单击【确定】按钮,可以看到在数据透视表中已经对各部门进行了4种汇总分析,分别统计出了每个部门的工资总和、平均工资、最多工资以及最少工资,如图5-36所示。
图5-36 为部门添加多种汇总方式
如果不希望显示分类汇总,那么可以单击数据透视表内的任意一个单元格,然后单击功能区中的【设计】⇨【布局】⇨【分类汇总】按钮,在弹出菜单中选择【不显示分类汇总】命令,隐藏所有字段的分类汇总,如图5-37所示。
图5-37 隐藏数据透视表中的所有字段的分类汇总
使用数据透视表对数据的分析主要在于观察值区域中的数据。为了使数据透视表中的数据能更准确地反映不同类型的数据,可以对数据的格式进行设置,也可以利用条件格式突出显示某些符合条件的特定数据。另外,还可以利用数据透视表本身的功能控制数据中空值和错误值的显示方式。
与设置普通数据区域的数字格式类似,也可以为数据透视表值区域中的数据设置数字格式。例如,可以将值区域中工资字段的所有数据设置为货币格式,这样可以很明显地了解到哪些数据表示的是货币。
例如,在如图5-38所示的数据透视表中,统计了各部门的工资总和及平均工资,其中C列为工资总和,D列为平均工资。可以发现,C列和D列中的数据只是普通格式,而不是货币格式。另外,D列中某些单元格中的数据包含了很多小数位,这样是不符合要求的。因为对于货币来说,通常只需保留两位小数即可。
因此,需要对C列和D列数据的数字格式进行设置,具体操作如下所示。
1 右击数据透视表中【求和项:工资】字段所在列中的任意一个单元格,在弹出菜单中选择【数字格式】命令。
图5-38 未进行格式设置的值区域中的数据
2 打开如图5-39所示的【设置单元格格式】对话框,在【分类】列表框中选择【货币】选项,然后在右侧自动选中了列表框中的第4项,并且小数位数自动设置为2位。
3 单击【确定】按钮,将看到如图 5-40 所示的效果,【求和项:工资】字段中的数据都显示为货币格式。
4 使用相同的方法设置【平均值项:工资】字段中数据格式,结果如图 5-41所示。
图5-39 设置单元格格式
图5-40 将【求和项:工资】字段中的数据设置为货币格式
图5-41 设置值区域中的所有数据为货币格式
提示:除了使用Excel内置的数字格式来设置值区域中数据的格式外,还可以使用自定义格式。只要在【设置单元格格式】对话框中的左侧列表框中选择【自定义】类型,然后在右侧输入自定义格式代码即可。
就像对普通数据区域设置条件格式一样,也可以非常方便地在数据透视表中对数据使用条件格式,从而突出显示符合指定条件的数据,这样将更加便于快速找出某些关键数据。例如,对于如图5-42所示的数据透视表,希望快速找出工资总和排名前3位的部门。
要完成上述要求,具体操作如下所示。
1 单击【求和项:工资】字段所在列的任意一个单元格。
2 单击功能区中的【开始】⇨【样式】⇨【条件格式】按钮,在弹出菜单中选择【项目选取规则】⇨【其他规则】命令,如图5-43所示。
图5-42 原始数据
图5-43 选择【其他规则】命令
3 打开如图5-44所示的【新建格式规则】对话框,选中【所有显示“求和项:工资”值的单元格】单选框,然后将对话框下方【前】的右侧的数字修改为 3,表示前3名。
图5-44 设置条件格式规则
4 单击【格式】按钮,打开【设置单元格格式】对话框,切换到【填充】选项卡,然后在颜色列表中选择一种颜色,如图5-45所示。
5 单击【确定】按钮,返回【新建格式规则】对话框,可以在对话框底部的【预览】中看到设置的格式效果。单击【确定】按钮,将自动为工资额前3位的工资数值设置灰色底纹,如图5-46所示。
图5-45 设置条件规则成立时自动对单元格应用的填充色
图5-46 使用条件格式自动标记工资额位于前3位的部门
前面曾经多次讨论过数据源中存在空单元格或文本时,在创建数据透视表后,Excel会对值区域中的数据采用计数而非求和的方式进行汇总。因此,在创建数据透视表前,应该使用0值来填充所有空单元格;或者在创建数据透视表后,手动将错误的计数改为求和。
然而,有时在创建数据透视表后,会发现在数据透视表内包含一些空白单元格。如果不想显示空白单元格,那么可以任何内容来填充数据透视表中的这些空白单元格。具体操作如下所示。
1 右击数据透视表内的任意一个单元格,在弹出菜单中选择【数据透视表选项】命令。
2 打开【数据透视表选项】对话框,切换到【布局和格式】选项卡,选中【对于空单元格,显示】复选框,并在右侧的文本框中输入要代替空单元格而显示的内容,如图5-47所示。此处输入0,表示用0填充数据透视表中的空白单元格。
3 单击【确定】按钮,可以发现Excel将自动使用0填充数据透视表中的空白单元格,如图5-48所示。
图5-47 设置代替空单元格显示的值
图5-48 使用指定的内容填充数据透视表中的空白单元格
有时会发现在数据透视表中出现了错误值,这种情况多见于添加了自定义的计算字段后,由于数据透视表中原先包含空单元格,而计算字段中的公式包含了对这些空单元格进行的除法运算,从而导致除数为0而显示错误值,如图5-49所示。
图5-49 在数据透视表中包含错误值
如果不希望这些错误值出现在数据透视表中,那么可以采用与上一节介绍的对于空单元格的相同处理方式,使用一种指定的内容来代替错误值。具体操作如下所示。
1 右击数据透视表内的任意一个单元格,在弹出菜单中选择【数据透视表选项】命令。
2 打开【数据透视表选项】对话框,切换到【布局和格式】选项卡,选中【对于错误值,显示】复选框,并在右侧的文本框中输入要代替错误值而显示的内容,如图5-50所示。此处输入星号“*”,表示用星号“*”代替数据透视表中的错误值。
图5-50 设置代替错误值而显示的内容
3 单击【确定】按钮,可以发现Excel将自动使用星号“*”代替数据透视表中的错误值,如图5-51所示。
图5-51 使用指定的内容代替数据透视表中的错误值