Excel数据透视表从新手到高手
上QQ阅读APP看书,第一时间看更新

2.4.3 删除数据源中的空行和空列

如果在数据源中包含空行或空列,那么在创建数据透视表时,Excel自动捕获的数据源范围会截止到空行或空列的位置,导致在创建的数据透视表中丢失部分数据。如图2-41所示,第6行和第16行是空行,创建数据透视表之前,活动单元格的位置将决定Excel默认使用哪个区域作为数据源:

● 如果活动单元格位于第6行以上的位置,Excel会将数据源的范围指定为A1:E5。

● 如果活动单元格位于第16行以下的位置,Excel会将数据源的范围指定为A17:E21。

● 如果活动单元格位于第6行与第16行之间的位置,Excel会将数据源的范围指定为A7:E15。

图2-41 数据源中包含空行

解决方法:删除数据源中的所有空行和空列,保持数据连续分布。如果数据源的行数和列数较少,可以通过Ctrl键和单击来同时选择多个空行或空列,然后右击选中的任意一行或一列,在弹出的菜单中选择“删除”命令执行删除操作。否则想要快速删除数量较多的空行或空列,需要使用其他方法。下面将分别介绍删除空行和空列的方法。

1.删除数据源中的空行

如图2-42所示,数据源包含多个空行,将这些空行删除的操作步骤如下:

(1)在数据区域右侧的一个空列中(如F列),输入从1开始的自然数序列,如图2-43所示。

图2-42 包含多个空行的数据源

图2-43 在一个空列中输入自然数序列

(2)在A列中单击任意一个包含数据的单元格,然后在功能区的“数据”选项卡中单击“升序”按钮(“降序”按钮也可以),对A列数据升序排列,如图2-44所示。

(3)升序排序后,数据源中的所有空行将位于数据区域的底部,如图2-45所示,选中这些空行并将其删除。

图2-44 对A列数据进行升序排列

图2-45 排序后的空行位于数据区域的底部

(4)在辅助列中单击任意一个包含数字的单元格,然后对该列进行升序排列,使数据恢复最初的位置,如图2-46所示。

图2-46 删除数据源中的所有空行

2.删除数据源中的空列

如图2-47所示,数据源包含多个空列,将这些空列删除的操作步骤如下:

图2-47 包含多个空列的数据源

(1)在A列数据下方的空单元格中输入下面的公式,统计A列包含数据的个数,如果公式返回0,则说明A列不包含数据。将该公式复制到同行的其他单元格,统计其他列包含数据的个数,如图2-48所示。

     =COUNTA(A1:A21)

图2-48 使用公式统计各列包含数据的个数

(2)选择第(1)步输入公式的所有单元格,按Ctrl+F快捷键,打开“查找和替换”对话框的“查找”选项卡,在“查找内容”文本框中输入0。然后单击“选项”按钮,将“查找范围”设置为“值”,如图2-49所示。

(3)单击“查找全部”按钮,在展开的窗格下方显示了选区中所有包含0的单元格的相关信息,按Ctrl+A快捷键选中所有找到的单元格,如图2-50所示。

图2-49 设置查找选项

图2-50 通过查找功能选中所有空列中的一个单元格

(4)单击“关闭”按钮关闭“查找和替换”对话框。在工作表中右击第(3)步选中的任意一个单元格,在弹出的菜单中选择“删除”命令,然后在打开的“删除”对话框中选中“整列”单选按钮,如图2-51所示。

图2-51 选中“整列”单选按钮

(5)单击“确定”按钮,删除数据区域中的所有空列,最后删除包含公式的行即可。