Excel2016数据处理与分析实战秘籍
上QQ阅读APP看书,第一时间看更新

1.1 鼠标拖放或双击以填充数据

使用鼠标拖放或双击填充是Excel最基本的填充方式,它让用户无须记忆一些复杂的规则,有利于提高数据录入效率。

1.1.1 启用填充柄和单元格拖放功能

使用鼠标拖放或双击填充,需要启用填充柄和单元格拖放功能。具体启用过程为:

1 在功能区的任意位置单击鼠标右键(以下简称“右击”)。

2 在弹出的快捷菜单中选择“自定义功能区”选项(或者在功能区“文件”选项卡单击“选项”按钮),弹出“Excel选项”对话框。

3 在“Excel选项”对话框的左侧大类中选择“高级”选项。

4 在右侧框中的“编辑选项”组里勾选“启用填充柄和单元格拖放功能”复选框(默认为勾选)。

5 如果填充所经过的单元格有内容且希望在覆盖前发出警告,让用户判断是否覆盖,请同时勾选“覆盖单元格内容前发出警告”复选框(默认为勾选)。

6 单击“确定”按钮,完成填充柄和单元格拖放功能的启用。

启用过程如图1-1所示。

图1-1 启用填充柄和单元格拖放功能

注意

Excel 2016窗口主要由标题栏、功能区、工作表编辑区和状态栏等四个部分组成。本书将用到的Excel 2016窗口的术语如图1-2所示。

图1-2 Excel 2016窗口及术语

1.1.2 填充柄使用之三部曲

鼠标选中的当前单元格叫作活动单元格。为了表示区别,鼠标选中的一个矩形区域叫作活动区域。活动单元格或活动区域为绿色粗框,右下角有一个绿色小方块,叫填充柄,活动单元格形如,活动区域形如。光标移到小方块,会变成黑色十字。

拖动填充柄可以将数据填充到相邻单元格中,具体步骤为:

(1)选择包含要填充到相邻单元格的数据的单元格或区域。

(2)按下鼠标左键并拖动填充柄,使其经过要填充的单元格。

(3)光标到达目标单元格时,松开鼠标左键。

三个步骤可以简称为“单击、按拖、松开”三部曲。若要更改选定区域的填充方式,请在目标单元格旁单击“自动填充选项”按钮,然后单击所需的选项。例如,可以选择单击“仅填充格式”以只填充单元格格式,也可以选择单击“不带格式填充”以只填充单元格的内容。填充内容时,会视数据类型的不同实现序列填充或进行复制。

注意

如果向所选单元格区域的上方或左边拖动填充柄,并停止在所选单元格区域中而不超过所选单元格区域的第一列或第一行,Excel将删除选定区域内的数据。所以,若不想误删单元格区域的数据,就必须在松开鼠标按键之前,拖动填充柄超出选定区域。

1.1.3 使用左键拖放填充

左键方式是填充数据的标准动作。可以按照活动单元格的数据进行填充,也可以按照活动区域的数据进行填充。

1.1.3.1 按活动单元格的数据填充序列或复制

Excel活动单元格有数据,就成为填充的“基准”。当用鼠标左键拖放填充时,有“Ctrl+填充柄”和只拖填充柄两种方式。

1.使用“Ctrl+填充柄”进行填充

在文件“第1章 数据填充”中将“Sheet1”工作表更名为“左键拖放”。

如果A1单元格中的数据为“1”,如何以此数据为基准填充一个自然数序列?操作过程如下:

(1)选定A1单元格,将光标移到A1单元格右下角,当光标变成黑色十字时,按住Ctrl键的同时拖动鼠标左键向下移动。注意,黑色十字右上角有一个小十字,光标往下移动时,预览数字在递增。到达指定单元格时,比如A3单元格,松开鼠标,完成序列填充。

(2)单击“自动填充选项”按钮,从下拉菜单中可以看出,Excel已经默认选择了“填充序列”单选按钮。

填充过程如图1-3所示。

图1-3 使用“Ctrl+填充柄”填充自然数序列

注意

使用“Ctrl+填充柄”进行填充时,数字按默认步长1填充,填充的是序列,其他数据均为复制式填充。打开或关闭“自动填充选项”的步骤为:单击“文件”选项卡→单击“选项”按钮→在弹出的“Excel选项”对话框中选择“高级”选项→在“剪切、复制和粘贴”组中选中或清除“粘贴内容时显示粘贴选项按钮”复选框以打开或关闭此选项。

2.只拖填充柄进行填充

在“左键拖放”工作表B1单元格中,如果数据为“1月1日”,如何以此数据为基准填充一个日期序列?操作过程如下:

(1)在B1单元格输入“1月1日”。选定B1单元格,将光标移到B1单元格右下角,当光标变成黑色十字时,拖动鼠标左键向下移动。注意,黑色十字右上角不再有一个小十字,光标往下移动时,预览日期在递增。到达指定单元格时,例如B3单元格,松开鼠标左键,完成序列填充。

(2)单击“自动填充选项”按钮,从下拉菜单中可以看出,Excel已经默认选择“填充序列”单选按钮。

填充过程如图1-4所示。

图1-4 只拖填充柄填充日期序列

注意

使用鼠标左键拖放填充,需要注意:

只拖填充柄填充时,数字默认为复制式填充,日期、时间默认分别按步长为1的日序、时序填充,有内置序列的文本按内置序列填充,反之为复制。填充这几类单纯数据,往左或往上,序列一般为递减,往右或往下为递增,文本序列还是循环式增减。

对于既有数字又有文本的混合型数据,只拖填充柄填充时,若数据只有一处有数字,则数字序列步进填充的维度无可争议,且按序列步长1填充,其余部分为复制式填充;若数据多处有数字,且左侧数字与字符有半角空格,则左侧数字按序列步长1填充;若多处有数字且左侧数字与字符没有半角空格,则最右侧数字按序列步长1填充。这种混合型数据的数字序列往左或往上递减超过0后会变成递增。在文件“第1章 数据填充”中插入一个工作表,将该工作表命名为“混合型数据”。填充效果如图1-5所示。

图1-5 混合型数据填充示例

使用鼠标左键拖放填充时,可以反向填充。沿着某列向上或某行向左拖曳序列,自动填充就会按倒序方式反向填充。如果在填充时拖过了头,可以继续按鼠标左键,将黑色十字指针沿原路往回拖动,多余的部分就会自动消失。

3.左键拖放填充规律归纳

前面介绍了使用鼠标左键拖放填充活动单元格内容的两种方式,其填充规律可归纳如表1-1所示。

表1-1 Excel左键拖放填充的规律

注意

先拖放鼠标左键填充再单击智能标记选择,不失为简化按活动单元格数据进行填充规律的万能方法。如果填充内容有多处数字,可在左侧数字后添加一个半角空格,拖动填充柄填充后,再将所有空格替换掉。

1.1.3.2 按活动区域数据的步长填充等差序列

当按活动区域数据填充序列时,如果填充的是数字、日期、时间序列,Excel会按步长1进行填充。要按步长1进行填充,对于数字数据,要使用“Ctrl+填充柄”方式进行填充;对于日期、时间数据,则只拖填充柄进行填充。

如果对于按活动区域数据填充序列是否使用Ctrl键感到头痛,或者默认的步长“1”不能满足要求,应该怎么办呢?可以尝试按活动区域数据的步长进行填充。

作为填充范本的活动区域为连续的或不连续的两个单元格。两个单元格的数据之差就是所填充序列的步长,步长不一定只为“1”,可为其他整数,也可为小数。也就是说,通过这种方式,可以人为地灵活设置所填充序列的步长,而且这个序列是等差序列。当按活动区域数据的步长填充序列时,不能使用“Ctrl+填充柄”的方式进行填充。否则,为复制式填充。

先以最有名的序号填充为例。操作过程如下:

(1)在“左键拖放”工作表的C1、C2单元格分别输入“1”“2”,然后选定C1:C2区域。将光标移到C2单元格右下角,当光标变成黑色十字时,拖动鼠标左键向下移动。光标往下移动时,预览数字在递增。到达指定单元格时,比如C4单元格,松开鼠标左键,完成序号填充。

(2)单击“自动填充选项”按钮,从下拉菜单中可以看出,Excel已经默认选择“填充序列”单选按钮。

填充过程如图1-6所示。

图1-6 填充序号

再以填充带小数点的序号为例。比如,填充2位小数的序号。操作过程如下:

(1)在D1、D2单元格分别输入“1.11”“1.12”,选定D1:D2区域。将光标移到D2单元格右下角,当光标变成黑色十字时,拖动鼠标左键向下移动。光标往下移动时,预览数字在递增。到达指定单元格时,比如D4单元格,松开鼠标左键,完成序号填充。

(2)单击“自动填充选项”按钮,从下拉菜单中可以看出,Excel已经默认选择“填充序列”单选按钮。

填充过程如图1-7所示。

图1-7 填充带小数点的序号

注意

此例的填充步长为0.01(1.12-1.11)。对小数部分进行序列填充,要按活动区域数据的步长填充。

1.1.3.3 巧妙填充超长数字的序列

Excel对数字有限制,数值型数字不能超过15位。其中,整数在单元格最多显示11位。若为小数,如果不进行数字格式设置,不算小数点,在单元格中最多显示10位数字。当对数值型数字进行序列填充时,数字位数不能突破15位。

混合型数据,若仅一处有数字,且进行序列填充,则数字最多10位。若要以左侧数字与文本有半角空格的方式强制左侧数字递增或递减,则左侧数字最多5位;若左侧数字超过5位,则按右侧数字递增或递减。

如果要填充超过Excel规定位数的数字序列,应该怎么办呢?要填充超长数字序列,可以使用直接替换法、公式替换法、公式合并法、自定义单元格格式法等四种方法实现。

1.直接替换法

先用字符代替相同的部分,形如“a0001”,拖放填充后,再将字符直接替换回去,比如把“a”替换成“'112233445566778899”(注意半角引号),得到超长文本型数字“1122334455667788990001”。

2.公式替换法

在文件“第1章 数据填充”中插入一个工作表,将该工作表命名为“超长数字序列”。在工作表中建立一个数据表,如图1-8所示。

图1-8 使用公式替换前的数据

A3:A5区域的数据为混合型数据,是一个可填充的序列,数字位数可达到最长的10位。在B3单元格输入如下公式:

将B3单元格的公式向下填充。效果如图1-9所示。

图1-9 使用公式替换得到超长数字的效果

【函数公式解析】

在本例公式中,REPLACE函数将A3单元格的“a”替换成一个文本型数字“112233445566778899”,在辅助列得到一个超长的文本型数字“1122334455667788991234567890”。REPLACE函数根据指定的字符数,将部分文本字符串替换为不同的文本字符串。具体语法为:

old_text必需。要替换其部分字符的文本。

start_num必需。old_text中要替换为new_text的字符位置。

num_chars必需。old_text中希望REPLACE使用new_text进行替换的字符数。

new_text必需。将替换old_text中字符的文本。

3.公式合并法

在“超长数字序列”工作表中新建一个数据表,如图1-10所示。

图1-10 使用公式合并前的数据

A9:A11区域的数据是数值型数据,显示位数可达到最长的11位,是一个可填充的序列,在B9单元格输入如下公式:

式中,“&”将A9的长数字与另一个文本型数字合并,成为一个超长文本型数字“11223344556677889912345678900”。

将B9单元格的公式向下填充。效果如图1-11所示。

图1-11 使用一般公式合并得到超长数字的效果

借助函数公式也能得到超长数字序列。

如果此序列的固定部分为“112233445566778899”,要变化的部分为5位数,应该如何设置呢?

在“超长数字序列”工作表中新建一个工作表,如图1-12所示。

图1-12 样表

在D2单元格输入如下函数公式:

将D2单元格的公式向下填充。效果如图1-13所示。

图1-13 使用函数公式得到超长数字的效果

【函数公式解析】

在本例公式中,ROW函数返回引用的行号。具体语法为:

reference可选。表示需要得到其行号的单元格或单元格区域。如果省略reference,则假定是对函数ROW所在单元格的引用。如果reference为一个单元格区域,并且作为垂直数组输入,则ROW将以垂直数组的形式返回reference的行号。reference不能引用多个区域。

式中,TEXT函数将数值转换为按指定数字格式表示的文本。具体语法为:

value必需。为数值、计算结果为数字值的公式,或对包含数字值的单元格引用。

format_text必需。为“单元格格式”对话框中“数字”选项卡上“分类”框中的文本形式的数字格式。本例为5位数字00000。

4.自定义单元格格式法

前面介绍的三种方法得到的都是超长文本型数字,在编辑栏和单元格中显示的数字是相同的,“表里如一”。若不求“表里如一”,可用自定义单元格格式的方法得到。

在“超长数字序列”工作表中新建一个工作表,如图1-14所示。

图1-14 自定义单元格格式前的数据

为作比较,仅将B15:B18区域的格式设置为自定义格式“112233445566778899000”。

具体步骤如下:

1 选择B15:B18区域。

2 在右键快捷菜单中选择“设置单元格格式”选项(或在“开始”选项卡中单击“数字”组右下角的“对话框启动器”按钮)。

3 在弹出的“设置单元格格式”对话框中选择“数字”选项卡。

4 在“分类”列表框中选择“自定义”选项。

5 在右侧的“类型”框中输入“112233445566778899000”。

6 单击“确定”按钮,完成单元格格式设置。

自定义格式的设置过程如图1-15所示。

图1-15 以自定义单元格格式的方法填充超长数字

自定义格式后,就可以填充序列了。具体过程为:

(1)在B15单元格中输入“1”。

(2)在B15单元格拖放鼠标左键填充至B18单元格,放开鼠标左键。单击“自动填充选项”按钮,从下拉菜单中选择“填充序列”单选按钮。

操作过程及效果如图1-16所示。

图1-16 在自定义格式单元格看到的超长数字

注意

自定义格式时,末端的“0”起占位的作用,末端“0”之前的是具有相同特征的数(可为文本),特征数据和“0”的字符总个数不能超过255个。用鼠标拖放填充时,将按“0”的位数进行填充。用这种方法得到的数字,在单元格中显示的是一个长数字,但实际存储的是一个短数字,这一点可以在编辑栏得到证实。

1.1.3.4 巧妙填充行数超多的序列

如果一个数据表不太规范,要填充的序列或公式的行数超多,有数万行甚至数十万行之多,应该如何填充才能正确无误、快速高效呢?

有人会立马想到使用鼠标左键拖放填充。左键拖放填充一拖到尾的方法好吗?不仅拖曳的时间长,可能拉得人腰酸背痛腿抽筋,而且拖拉过程中不能有闪失,如有闪失,还得继续拖拉或重新拖曳。有时,序列拉过了头,还得先撤销再重新拖曳。显然,在这种情况下,单纯的左键一拉到底的方法是低效的。

有人可能也会想到使用鼠标左键双击填充。后面将专门介绍左键双击填充的技巧。左键双击填充,展现了Excel智能识别边界的优良特性。当被作为参照系的数据区域有空行或空列的时候,或欲填充的列有数据堵塞时,这个优势就成了弊端,填充到这个堵塞点就会自动停止。想要继续,就需要人为干预,继续向下双击。如果行数多,又不知道有几个断点,可能就要一直双击下去,直到数据的结尾。显然,在这种情况下,单纯的左键双击填充的方法也是低效的。

难道Excel对此就一筹莫展了吗?实际上,巧妙结合Excel的窗口冻结功能和快捷键可以破解这个困局。

在工作表“超长数字序列”中建立一个数据表,如图1-17所示。

图1-17 行数超多的序列的数据表

表中隐藏了部分行,将在F列填充从1开始的序号,但该列第3003行有断点,从断点后又填充从1开始的新序号。应该如何操作呢?

具体操作步骤如下:

1 在F4、F5单元格分别输入“1”“2”。

2 单击G6单元格,确定冻结拆分窗口的单元格。之所以在G6单元格上面预留2行,是为了填充时便于使用鼠标左键拖放填充或双击填充;在G4单元格左面预留1列,是为了便于查看序号列。

3 单击“视图”选项卡。

4 在“窗口”组单击“冻结窗格”按钮。

5 在下拉菜单中选择“冻结拆分窗口”选项。

6 按“Ctrl+↓”组合键定位到工作表本列有数据的最后一格,并向上滚动鼠标,缩短此列显露出来的行数。显露行数越少,鼠标左键拖放填充的行数就越少。

7 选择F4:F5区域,使用鼠标左键拖放填充或双击填充,奇迹就出现了。

操作过程及效果如图1-18所示。

图1-18 填充行数超多的序列的过程及效果

如果想继续填充F列下一个区域的序号,就取消窗口冻结。将鼠标放置于F列已填充区域的任意单元格,按“Ctrl+↓”组合键定位到该区域有数据的最后一格。再重新确定需要冻结拆分窗口的单元格以冻结拆分窗口,然后使用鼠标左键拖放填充或双击填充。

1.1.4 使用右键拖放填充

除了可以使用左键拖放填充,还可以使用右键拖放填充。右键拖放填充与左键拖放填充有何异同呢?下面以填充日期时间和填充等比序列为例进行介绍。

1.1.4.1 填充日期和时间

在文件“第1章 数据填充”中插入一个工作表,将该工作表命名为“右键拖放”。在工作表中建立一个数据表,如图1-19所示。

图1-19 填充前的日期和时间

(1)选择A2单元格。将光标移到A2单元格右下角,当光标变成黑色十字时,拖动鼠标右键向下移动。光标往下移动时,预览日期在递增。

(2)到达指定单元格时,比如A5单元格,松开鼠标,会弹出一个快捷菜单,有12个选项,选择“以天数填充”选项。

(3)同理,在B~E列分别选择“以工作日填充”“以月填充”“以月填充”“以年填充”选项。因D2单元格的日期为2016年2月的最后1天,当“以月填充”月份递增时,以后各月也均为当月最后一天。F列的时间数据,填充要以F1:F2区域为模式,右键拖放填充时选择“填充序列”。

日期和时间填充的过程及效果如图1-20所示。

图1-20 填充日期和时间后的效果

1.1.4.2 填充等比(差)序列

在Excel中,等差序列和等比序列是使用非常频繁的数值序列。下面以等比序列的填充为例进行介绍。

(1)在“右键拖放”工作表的H2:H3单元格中分别输入“1”“2”,并选择H2:H3区域。

(2)将光标移到H3单元格右下角,当光标变成黑色十字时,拖动鼠标右键向下移动。光标往下移动时,预览数字在递增。到达指定单元格时,比如H5单元格,松开鼠标左键,弹出快捷菜单,选择“等比序列”选项。

填充过程及效果如图1-21所示。

图1-21 填充等比序列效果

通过上面的介绍,可以看出,右键拖放填充与左键拖放填充主要有两点不同:

右键拖放填充时,总是先选后填,通过右键快捷菜单选择选项后,再进行精确填充;而左键拖放填充是先填后选,填充后,再通过“自动填充选项”按钮选择选项。

使用右键填充数字类数据时,可以选择“等差序列”或“等比序列”选项来填充;而使用左键拖放填充时,则没有这样的选项。当然,可以通过预设“模式”,再使用鼠标左键拖放填充“等差序列”。

右键拖放填充与左键拖放填充的规律大体一致:凡是有序列的数据都能选择“填充序列”,“填充序列”的步长为1或按内置序列;有“范本”则按“范本”步长;数字、日期、时间三类数据,可以打开“序列”对话框进行精确设置;所有数据类型都可以“复制单元格”,进行复制式填充。

1.1.5 使用左键双击填充

Excel中,不仅可以使用鼠标左键、右键拖放填充,还可以使用鼠标左键双击填充。左键双击填充又有什么特异之处呢?

在文件“第1章 数据填充”中插入一个工作表,将该工作表命名为“左键双击”。在工作表中建立一个数据表,如图1-22所示。

图1-22 左键双击填充示例

表中,如果A列、D列有数千行,将对B列填充值班日、对F列填充座号,那么有什么快捷方法呢?显然,如果还是使用鼠标左键、右键拖放填充,一是费时费力,二是可能因鼠标失灵而失败。在这种情况下,可以使用鼠标左键进行双击填充。操作过程如下:

(1)选择B2单元格。将光标移到B2单元格右下角,当光标变成黑色十字时,双击鼠标左键,数据便被填充了。如果填充有误,用户可以单击“自动填充选项”按钮,从下拉菜单中选择相应选项重新进行填充。

(2)选择F2:F3区域,将光标移到F3单元格右下角,当光标变成黑色十字时,双击鼠标左键,数据便被填充了。

填充过程及效果如图1-23所示。

图1-23 左键双击填充

注意

使用左键双击填充时,需要注意:

左键双击填充时,以左右两侧有数据的相邻连续列中数据行数最大的列为参照,往下填充。这些连续列和最大行构成一个矩形区域。如果不能判断这个矩形区域有多大,可以尝试单击区域中的任意单元格,然后按下“Ctrl+Shift+8”组合键。比如,本例单击B2单元格,再按下“Ctrl+Shift+8”组合键,A1:B8这个区域就被选中了。本例C列是空列,所以B列参照A列填充。F列参照D、E、G、H列填充,因数据行数最大的列是D列,所以最终参照D列填充。

左键双击填充时,如果欲填充区域所在列下端有数据,则填充的高度最多在该数据的上一行。如果欲填充区域所在列下端没有数据,则可填充至最大行数。如果所选单元格区域设定了步长,则是序列填充,否则为复制式填充。本例因B7单元格有数据,阻断了B列的填充,所以数据只能从B2填充到B6,而且是按序列填充。本例填充后,有两个连续区域,包括A1:B8区域和D1:H8区域。