Excel 怎样快速填充数据?

制表时经常会遇到当前需要输入的值刚好与左方单元格的值相同,或者与上方单元格的值相同,如何才能快速地输入这些值呢?

解题步骤

要输入与某个单元格相同的值,最容易想到的往往是复制、粘贴。然而复制到右方或下方时最高效的方法不是复制,而是使用快捷键填充,具体步骤如下。

1.假设要将图4.196中A2:C2区域的值复制到A3:C4区域中,即A3:A4等于A2的值、B3:B4等于B2的值、C3:C4等于C2的值,那么应该选择A2:C4,然后按组合键<Ctrl+D>,填充效果如图4.197所示。

图4.196 填充前

图4.197 填充后

2.假设要将图4.196中A2:C2区域的值复制到A3:C3区域中,即A3等于A2的值、B3等于B2的值、C3等于C2的值,那么可以先选择A3:C3,然后按组合键<Ctrl+D>,填充效果如图4.198所示。

图4.198 向下填充一行

也就是说,要填充一行的话可以只选择这一行,然后按<Ctrl+D>组合键。如果要一次填充多行,那么必须选择被复制的区域和目标区域,然后再按<Ctrl+D>组合键。

3.假设要将图4.199中A2:A4区域的值复制到B2:C4区域中,那么应该选择A2:C4区域,然后按组合键<Ctrl+R>,填充效果如图4.200所示。

图4.199 填充前

图4.200 填充后

向右填充也和向下填充一样,可以选择B2:B4区域后按下组合键<Ctrl+R>,将A2:A4的值复制过去。

知识扩展

1.<Ctrl+D>代表向下填充,其中字母 D 来自单词 Down,表示向下;<Ctrl+R>代表向右填充,字母R来自单词Right,表示向右。

2.使用快捷键填充会将格式信息一并复制过来,如果需要忽略格式,那么应采用选择性粘贴。

Excel 能否让外部序列也可以自动填充?

Excel 内置了 10 多组序列,只要单元格的值在序列范围之内,那么就可以按住填充柄向任意方向拖动从而快速产生序列中的其他值。例如,在A1单元格输入丙,将A1向下填充时可以自动产生丁、戊、己、庚等字符。

是否可以自定义序列,当在单元格中输入“小学”并向下填充时自动产生“初中”、“高中”、“大学”、“博士”、“教授”呢?或者在单元中输入“A”并向下填充时自动产生“B”、“C”、“D”……

解题步骤

Excel允许用户在“自定义序列”对话框中手工录入序列,也可以直接导入区域中的值作为序列,当保存序列后,可以在填充单元格的值时自动引用该序列。

以导入区域中的值从而生成序列为例,具体操作步骤如下。

1.在A1:A6单元格中分别输入小学、初中、高中、大学、博士、教授。

2.在B1:B26单元格中分别输入A、B、C…X、Y、Z。

3.按组合键<Alt+D+O>,弹出“Excel 选项”对话框,然后打开“高级”选项卡,将右方的滚动下条下拉到底,直到出现“编辑自定义列表”按钮,操作界面如图4.192所示。

图4.192 查找“编辑自定义列表”

4.单击“编辑自定义列表”按钮弹出“选项”对话框,单击对话框中的区域选择工具(图标为),然后选择 A1:A6 区域,最后单击“导入”按钮,将 A1:A6 区域的值导入到序列对话框中,效果如图4.193所示。

图4.193 导入区域的值

也可以手工输入A1:A6,不用鼠标选择区域。

5.将“$A$1:$A$6”修改为“B1:B26”,然后单击“导入”按钮。

6.单击两次“确定”按钮关闭对话框。

7.删除工作表中的值,然后在C2单元格中输入字母“D”,并将C2向下填充到C6,填充效果如图4.194所示。很显然,借助自定义序列输入连续字母可以大幅提升工作效率。

8.在D6单元格输入“博士”,然后将D6向上填充到D2,填充效果如图4.195所示。

图4.194 填充字母

图4.195 填充学历

知识扩展

1.Excel支持两种自定义序列的方法:其一是本文使用的导入区域法,其二是在图4.193所示的对话框中手工输入序列,然后单击“添加”按钮。

2.通过导入区域的值生成自定义序列时,区域中的任意单元格不能含有公式,否则可能导入失败。可以复制区域,然后通过选择性粘贴将区域的公式转换成值,最后再导入到序列中。

3.如果采用导入方式生成自定义序列,导入的数量不能大于255个。

4.通过填充方式输入自定义的序列时,不能像填充数值那样自定义步长值,填充自定义列时步长值总是1。

Excel 能否将工作表以指定列为标准拆分成多个工作表

图4.188所示的工作表中包含5个部门的职员信息,现要求将它们拆分到5个工作表中去,每个工作表只存放一个部门的职员信息,而且工作表以部门名称命名,是否有办法一次性拆分完成?

图4.188 职员信息表

解题步骤

新建5个工作表,并用部门名称命名,然后手工逐条复制数据到对应的工作表,尽管采用此方式也可以完成工作,但是效率相当低,采用数据透视表则可以几秒钟完成,具体操作步骤如下。

1.选中A1单元格,然后单击功能区的“插入”→“数据透视表”,弹出“创建数据透视表”对话框。

2.在对话框中将“新工作表”修改为“现有工作表”,同时将位置设置为“G1”,然后单击“确定”按钮,操作界面如图4.189所示。

图4.189 设置透视表的存放位置

3.在工作表界面右方的“数据透视表字段”中将“部门”字段拖到筛选器标题中,再将“姓名”、“性别”、“籍贯”和“学历”字段拖到行标题中,图4.190是操作示意图及透视结果。

图4.190 设置透视表的每个字段

4.单击功能区的“设计”→“报表布局”→“以表格形式显示”。

5.单击功能区的“设计”→“分类汇总”→“不显示分类汇总”。

6.单击功能区的“设计”→“总计”→“对行和列禁用”。

7.对数据透视表所在区域添加边框,然后单击功能区的“分析”→“选项”→“显示报表筛选项”,从而弹出“显示报表筛选页”对话框。

8.在对话框中单击“确定”按钮,Excel 会按部门名称拆分透视表的数据到“财务”、“仓库”、“后勤”和“业务”5个工作表中去,效果如图4.191所示。

图4.191 拆分结果

知识扩展

1.借助透视表拆分工作表必须为透视表设置筛选器(在Excel 2003中称为页字段,在Excel 2010中称为报表筛选),以及将报表布局由默认的压缩格式修改为报表格式,否则姓名、性别、籍贯和学历数据会分别显示在4行中,而非4列中。

2.使用透视表拆分后生成的工作表本质上仍然是透视表,若要得到普通工作表,那么按住Shift键选择所有拆分生成的工作表,然后按组合键<Ctrl+A>全选所有单元格,最后通过“复制”→“选择性粘贴”→“值”,将透视表区域转换成普通单元格。

Excel 如何快捷输入按月递增的日期?

公司为了提升员工福利,规定进公司后每两个月可以申请一天有薪假。例如8月5日入职,那么10月5日时就允许申请,直到12月5日时又申请下一轮休假。

在图4.185中有每个职工的入厂日期,要求写出所有职工的近10次休假申请日期,是否有办法快捷生成日期,而不用手工逐个填入?

图4.185 休假申请表

解题步骤

按月递增的日期不仅是在基准日期上添加月份,还要考虑每月天数的问题,例如 12 月 31日入职,首休申请日不是2月31日,因为2月没有31日,只有28天或29天。

人工判断日期比较困难,使用内置的填充工具可以瞬间完成,具体步骤如下。

1.选择B2:B9区域,将鼠标指针指向B9单元格的右下角,当鼠标指针变成黑色十字光标时按下右键向右方拖动,直到L列时再松开。

2.从弹出的右键菜单中选择“序列”,弹出“序列”对话框。

3.在对话框中将“日期单位”设置为“月”,将步长值设置为2,表示隔两个月生成日期。设置界面如图4.186所示,而填充结果如图4.187所示。

图4.186 设置填充选项

图4.187 填充结果

图4.187中,D5单元格是9月30日,而它左方的单元格是7月31日,这是Excel自动判断的结果,由于9月不存在31日,因此降为9月30日。

知识扩展

1.按下左键,然后向任意方向拖动填充柄即可实现数据填充,不过要实现复杂的填充只能通过右键打开“序列”对话框,然后按需求设置填充选项。

拖动左键填充日期时,步长值总是1,日期单位为“日”,采用右键填充则可以随意指定步长值及日期单位。

2.如果没有选择“Excel选项”对话框中的“启用填充柄和单元格拖放功能”复选框,那么单元格就不支持填充柄。当无法填充单元格时应及时进入“Excel选项”对话框中查看。

Excel 如何快捷输入递进为5的日期值?

假设今天是2015年9月1日,要求对图4.178所示表格中的5个职员安排9月值日表,每人值日一天后轮到下一人,自动跳过周末。有什么办法快捷完成而非手工写入日期呢?

图4.178 空白值日表

解题步骤

Excel的填充工具可以智能判断工作日,还可以设置递进数值,借助填充工具可以用几秒钟完成以上工作,具体操作步骤如下。

1.在B2单元格输入初始日期9-1。

2.将鼠标指针移到 B2 单元格的右下角,当产生图 4.179 所示的黑色十字光标时按下右键拖动,当拖到F5时再松开鼠标,此时会弹出图4.180所示的右键菜单,单击“序列”菜单,弹出“序列”对话框。

图4.179 填充柄

图4.180 调用“序列”对话框

3.在“序列”对话框中将日期单位设置为“工作日”,步长值则采用默认值1,然后单击“确定”按钮执行填充操作。图4.181为设置填充方式的界面,而图4.182则是填充效果。

图4.181 设置填充选项

图4.182 填充效果

在图4.182中F2单元格的值是7日而不是5日,因为9月5日和6日属于周末,在“序列”对话框中指定的是“工作日”,那么填充时一定会忽略所有周末和法定假日。

4.将光标移到 F2 单元格的右下角,按下右键不松开,然后将填充柄向下拖动,直到第 7行时松开鼠标,最后在弹出的右键菜单中选择“序列”菜单,弹出“序列”对话框。

5.在对话框中选中单选按钮“列”,然后将日期单位设置为“工作日”,将步长值设置为5,将终止值设置为“9月30日”,表示填充时按5递增,跳过周末和假日,填充到9月30日时结束。图4.183是设置界面,而图4.184是填充结果。

图4.183 设置填充选项

图4.184 填充结果

知识扩展

1.工作日是指周末和法定假日以外的需要上班的日期,人工判断效率太低,Excel在填充时可以自动判断工作日,从而使输入日期的工作效率提高数倍。

2.本例中横向填充时以1为级差向上递增,因此在“序列”对话框中将步长值保持默认值1即可,纵向填充时,由于有5人值班,因此需要递增5,步长值必须修改为5。

3.终止值表示填充时的上限,如果不指定就可能产生属于10月份的日期,显然不符合需求,因此将9月最后一天作为终止值。

Excel 可否实现不打开工作簿即能预览工作簿内容?

当文件夹中工作簿数量较多,而且命名方式相近时,要打开工作簿才知道文件内容,有没有办法在选中文件时就可以直接预览文件内容,从而节约开启时间呢?

解题步骤

Windows 本身拥有两种预览文件的方式,可以在不打开文件的前提下预览文件内容。其一是用文件的部分内容作为文件图标;其二是在资源管理器的预览窗口中查看完整内容。方法一的操作步骤如下。

1.双击打开需要预览的文件。

2.另存文件,在“另存为”对话框中选择“保存缩略图”复选框,操作界面如图4.173所示。

图4.173 保存缩略图

3.单击“保存”按钮,然后关闭Excel。

4.按组合键<Windows+E>,打开资源管理器,进入上一步保存文件的路径下,然后右键单击空白处,从右键菜单中选择“超大图片”,图4.174是菜单界面,而图4.175则是调整文件为超大图标后的效果,可以看到在该图中“疑难 82.xlsx”显示了文件内容,而其他文件则只显示Excel的图标,这是文件“疑难82.xlsx”在步骤2中添加了缩略图的结果。

图4.174 资源管理器的右键菜单

图4.175 通过图标预览文件内容

以上方法只能预览文件的一小部分内容,因为文件图标的大小有限。现在介绍另一个方法,可以看到工作表中的所有内容,而且支持复制工作表数据,步骤如下。

1.按组合键,<Windows+E>,打开资源管理器,从左上方依次单击菜单“组织”→“布局”→“预览窗格”,界面如图4.176所示。

图4.176 打开预览窗格

2.选择任意一个 Excel 文件,在资源管理器右端的预览窗格中可以看到此工作簿中的所有数据,而且支持工作表切换,支持复制单元格中的数据,效果如图4.177所示。

图4.177 预览文件内容

知识扩展

1.尽管以上两个办法都是在不打开Excel的情况下预览Excel文件的内容,但是它们都不能脱离Excel使用,即安装Office后才可以使用预览功能。

2.预览时只能查看,不能编辑。

Excel 怎样输入性别更快?

输入员工的性别时,尽管“男”和“女”两个字拼写并不复杂,但是相对于输入数字还是更低效,能否用输入数字的方式替代输入性别?

解题步骤

以图4.170为例,通过自定义单元格的数字格式从而让用户输入1和0来产生性别。

图4.170 职工资料表

1.选择B2:B11区域,按组合键<Ctrl+1>,弹出“设置单元格格式”对话框。

2.选择“自定义”,然后在右方的格式代码框中输入代码“男;;女;”,界面如图4.171所示。

图4.171 设置单元格格式

3.单击“确定”按钮保存设置,同时返回工作表界面。

4.在B2单元格输入0,在B3单元格输入1,Excel会自动显示为“女”和“男”,效果如图4.172所示。

图4.172 用数字替代性别

知识扩展

1.输入数值却显示文本,有两种方法实现:其一是使用自动更正;其二是自定义单元格的数字格式。前者有一个明显的缺点,它对整个工作簿生效,因此会影响选区以外的单元格,后者只对选区生效,兼容性更高。

2.代码“男;;女;”表示输入正数时显示“男”,输入 0 时显示“女”,输入负数和文本则不显示。格式代码的规则是“正数;负数;0;文本”,只要将“男”放在第一个位置,那么输入任意正数都显示为“男”,如果放在第二个位置,那么输入负数时会显示“男”。

3.设置数字格式仅仅改变单元格的显示字符,单元格的值本身是不变的。如果要将显示出来的值转换成实际的值,那么可以复制此区域的值,粘贴到记事本中,然后再将记事本中的值复制回来即可。

Excel 如何从杂乱字符串中提取数字?

单元格中包含字母、汉字和数值,是否可以将其中的数字单独提取出来?

解题步骤

以图4.166所示的数据为例,人工提取每个单元格中的数字是相当费时费力的,借助Word的查找工具可以快捷地选中这些数字,然后将它们复制到Excel中。

图4.166 待提取数字的数据源

1.选择A2:A9区域,按组合键<Ctrl+C>复制数据。

2.打开Word,然后按组合键<Ctrl+V>粘贴数据。

3.按组合键<Ctrl+H>,弹出“查找和替换”对话框。

4.将查找内容设置为“[!0-9.]”,然后单击“更多”按钮,选择下方的“使用通配符”复选框,最后单击“全部替换”按钮。图4.167是设置界面,图4.168则是替换结果。

图4.167 设置查找选项

图4.168 替换结果

5.按组合键<Ctrl+A>全选所有数字,再按<Ctrl+C>复制数据,然后返回Excel中,选择B2单元格并按组合键<Ctrl+V>粘贴数据,图4.169为粘贴结果。

图4.169 将Word中的查找结果复制到Excel中

知识扩展

1.在前面的案例中讲过,Excel的查找工具不支持正则表达式,而Word是支持的,因此对于复杂的查找和替换都转到Word中执行,然后将结果回传到Excel中。

本例中代码“[!0-9.]”的含义是排除所有数字和小数点。其中“[0-9.]”表示数字或小数点,叹号则表示不等于/排除,因此整体的含义是将数字以外的字符替换成空白,剩下数字。

2.本例的方法只针对一个单元格中只有一串数字的情况,如果一个单元格中有两串或更多数字,则要使用更复杂的方法。

Excel 可否一次性替换所有的换行符?

图4.162中,A列包含省、市名称,分别显示在两行中,现要求只显示一行,是否可以批量删除每个单元格的换行符呢?

图4.162 销售人员资料表

解题步骤

使用替换工具可以批量删除换行符,具体操作步骤如下。

1.按组合键<Ctrl+A>全选所有数据区域。

2.按组合键<Ctrl+H>,弹出“查找和替换”对话框。

3.单击“查找内容”文本框,然后左手按住Alt键不松开,右手按下小键盘上的1和0(先按1后按0),最后松开Alt键。

4.单击“全部替换”对话框,Excel 会弹出替换成功多少处的提示信息,图 4.163 是替换成功后的显示效果。

图4.163 替换结果

知识扩展

1.左手按住Alt键不松开,右手按下小键盘上的1和0,相当于按<Alt+10>组合键。

Excel将每个字符都搭配了一个编码,其中换行符的编码是10,因此按<Alt+10>即可输入换行符号。在公式栏中输入公式=Code(""),然后将光标定位到两个引号之间,按下组合键<Alt+Enter>,此时可以发现单元格中公式的计算结果是10,表示换行符的字符编码为10,效果如图4.164所示。

图4.164 计算换行符的编码

事实上,Excel中每个字符都有编码,如“罗”是49886,因此按住Alt键不松开,然后分别按下小键盘上的4、9、8、8、6,在单元格中将会产生“罗”字。

2.按住Alt键输入数字时,应该使用小键盘上的数字,否则无法输入成功。

3.事实上还有一种更快捷的方法让A列的字符不换行,选择A列,然后单击开始选项卡的“自动换行”按钮,其效果与图4.163一致。图4.165是自动换行菜单的位置展示,以及Excel提供的功能说明。

图4.165 自动换行菜单

Excel 能否只提取括号中的值?

图4.156中C列的括号中注明了奖惩的原因,现要求单独将原因提取出来放在D列中,手工复制效率低,能否一次性全部提取出来?

图4.156 需要提取括号中的值的报表

解题步骤

Excel的公式可以提取括号中的值,但是学习公式远比学习基本技巧复杂,因此本例展示使用基础技巧功能提取括号中的值,具体步骤如下。

1.复制C2:C9区域的值。

2.打开Word,按下组合键<Ctrl+V>粘贴数据。

3.按组合键<Ctrl+H>,弹出“查找和替换”对话框。

4.打开“查找”选项卡,将查找内容设置为“\(*\)”,然后单击“更多”按钮从而显示其他选项。

5.选择“使用通配符”复选框,然后单击“在以下项中查找”按钮,并选择“主文档”,表示在主文档中选择符合条件“\(*\)”的所有目标字符。设置界面如图4.157所示,而选择目标字符串后的效果如图4.158所示。

图4.157 设置查找选项

图4.158 查找结果

6.按下组合键<Ctrl+C>,复制Word中选中的目标字符,然后返回Excel界面。7.单击D2单元格,然后按组合键<Ctrl+V>粘贴数据,图4.159为粘贴结果。

图4.159 粘贴Word中选中的数据

8.关闭Word,然后在Excel中选择D列,按组合键<Ctrl+H>,弹出“查找和替换”对话框。

9.将查找内容设置为左括号“(”,要注意必须和单元格中的左括号一致,半角的括号和全角的括号属于两个不同的字符,无法匹配成功。将替换内容保持空白不变,然后单击“全部替换”。图4.160是设置界面及替换结果。

图4.160 将左括号替换成空文本

10.用同样的方法将右括号“)”也替换成空文本。

11.在D1单元格中输入标题“奖惩原因”,并对D1:D9区域添加边框,最终效果如图4.161所示。

图4.161 添加标题和边框

知识扩展

1.在Excel中可以查找“\(*\)”,但是Excel做不到只选择符合条件的字符串,而是选择整个单元格,因此只能将数据复制到Word中,然后借助Word的查找工具提取出括号中的值(包含括号本身)。最后将取出的值回写到Excel中并消除括号。

2.“\(*\)”表示括号及括号中的值,由于括号(半角状态的)本身属于特殊字符,有特定的含义,因此查找括号时应该使用“\”去除它的特殊属性,从而得到字符本身。

3.本例将带括号的字符串从Word中复制到Excel后再替换掉括号,事实上也可以在Word中选中目标后立即替换掉括号,然后再复制到Excel中来,在效率上两者相近。