字段布局对于构建一份有意义的数据透视表来说是至关重要的。数据透视表的强大功能源于用户可以对字段进行随意的拖动、摆放,从而在几秒钟的时间内就可以彻底为数据透视表改头换面,生成具有不同商业价值的报表。本章将主要对数据透视表字段布局的各种方法进行详细介绍,同时,也介绍了一些数据透视表的基础操作。
本章要点
❖数据透视表基础操作
❖对数据透视表字段进行布局
❖推迟字段布局更新时间
❖使用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 直接将字段拖动到数据透视表中的指定区域