如果源区域左列有分类标记, 则选定“标题位置” 下的“最左列” 复选框。 在一次合并计算中, 可以选定两个选择框。 在本例中我们选择“最左列” 选项, 如图11-10 所示。 按下“确定” 按钮。 我们就可以看到合并计算的结果, 如图 11-11 所示。 11. 1. 3 合并计算的自动更新 此外, 我们还可以利用链接功能来实现表格的自动更新。 也就是说, 如果我们希望当源数据改变时, Microsoft Excel 会自动更新合并计算表。 要实现该功 能的操作是, 在“合并计算” 对话框中选定“链接到源” 复选框, 选定后在其前面的方框中会出现一个“√ ” 符号。 这样, 当每次更新源数据时, 我们就不必都要再执行一次“合并计算” 命令。 还应注意的是: 当源和目标区域在同一张工作表时, 是不能够建立链接的。 六. 如何不让数字自动转换为时间 Excel 软件相信大家都经常会使用到, 但是 Excel 本身的许多默认设置可能在使用中给新手造成许多的困难, 比如默认的数字转换成时间的设置就非常的让许多初学者头疼, 往往找不到解决办法。 今天我们就来说一下如何不让 Excel自动将输入的数字转换成日期。 方法一: 选定单元格(可以是多个单元格) 后选择菜单“格式→单元格”(或直接在单元格上单击鼠标右键后选择“设置单元格格式” )在打开的“单元格格式” 窗口中单击“数字” 选项卡, 在“分类” 中选定“文本” 并“确定” 即可。 方法二: 在输入内容的前面加上一个英文半角的单引号, 就是告诉 Excel 将单引号后的内容作为文本处理(单引号本身并不会被打印出来) 。 七. 用 FreQuency 函数统计分数段优于 IF 函数 用 Excel 怎样统计出学生成绩各分数段内的人数分布呢? 很多文章都推荐使用CountIF 函数, 可是每统计一个分数段都要写一条函数, 十分麻烦。 例如, 要在 C58: C62 内统计显示 C2: C56 内小于 60 分、 60 至 70 之间、 70至 80 之间、 80 至 90 之间、 90 至 100 之间的分数段内人数分布情况, 要输入以下 5 条公式: 1. 在 C58 内输入公式统计少于 60 分的人数: =CountIF(C2: C56, "<60") 2. 在 C59 内输入公式统计 90 分至 100 之间的人数:=CountIF(C2: C56, ">=90") 3. 在 C60 内输入公式统计 80 至 90 之间的人数:=CountIF(C2: C56, ">=80") -CountIF(C2: C56, ">=90") , 4. 在 C61 内输入公式统计 70 到 80 之间的人数:=CountIF(C2: C56, ">=70") -CountIF(C2: C56, ">=80") , 5. 在 C62 内输入公式统计 60 到 70 之间的人数:=CountIF(C2: C56, ">=60") -CountIF(C2: C56, ">=70") 。 如果要把 0 至 10 之间、 10 至 20 之间、 20 至 30……90 至 100 之间这么多个分数段都统计出来, 就要写上十条公式了。 其实, Excel 已经为我们提供了一个进行频度分析的 FreQuency 数组函数,它能让我们用一条数组公式就轻松地统计出各分数段的人数分布。 例如, 我们要统计出 C2: C56 区域内 0 至 100 每个分数段内的人数分布: 1. 在 B58: B68 内输入: 0、 9. 9、 19. 9、 ……9. 9、 99. 9、 100。 2. 用鼠标选择区域 C58 至 C69, 在编辑栏内输入“=FreQuency(C2: C56, B58: B69) ” 。 3. 按“Crtl+Shift+Enter” 组合键产生数组公式“={FreQuency(C2: C56, B58: B69) } ” , 这里要注意“{ } ” 不能手工键入, 必须按下“Crtl+Shift+Enter” 组合键由系统自动产生。 完成后 C58: C69 将显示分数分布情况。 八. 妙用 Shift 键 将 Excel 表格转为图片 Shift 键在 Word 下有这样的妙处, 如果我们在按下 Shift 键, 同时点击“编辑” 菜单, 原来的复制和粘贴就会变成“复制图片” 和“粘贴图片” 。 利用这一功能, 我们也可以将这方法移接到 Excel 中运用, 把 Excel 一个数据表以图片的形式进行复制, 从而将其转换为图片。 方法如下: 首先选中需要复制成图片的单元格区域, 然后按住 Shift 键依次选择“编辑→复制图片” 命令, 接着弹出“复制图片” 窗口, 选择“图片” 单选项后点击“确定” 按钮, 这时就将选定的表格区域复制成图片了。 最后复制到目标只需直接选择“粘贴” 命令即可(或者按 Shift 键再选择“编辑→粘贴图片” 命令) 。我们还可以将其在 Word 中进行粘贴。 另外, 在复制图片时如果选择了“如打印效果” 单选项, 在粘贴的时候如果表格没有边框, 复制后的图片也不会出现边框。 九. 轻松删除 Excel 表格中的空行 在数据统计与分析过程中, 由于记录的添加、 删除以及数据表的合并等原因, 经常会在表格中出现一些空行。 这些空行的存在既不美观, 同时也影响了数据分析的结果。 如果一行一行地删除, 费时费力, 笔者这里总结了以下三种方法, 让你轻松删除 Excel 表格中的空行。 一、 定位删除法 利用 Excel 中提供的“定位” 功能, 一次性定位表格中的所有空行, 然后将其“一网打尽” 。 依次选择“编辑→定位” 菜单命令, 在出现的“定位” 对话框中单击“定位条件” 按钮, 在接着弹出的“定位条件” 对话框中点选“空值” 单选项, 最后单击“确定” 按钮, 这样就可以将表格中所有的空行全部选中了。 然后鼠标右击选中区域, 在弹出的快捷菜单中依次选择“删除→整行” 命令即可。 Cico 提示: 使用该方法删除时要确保其他非空行中的所有单元格内均填有数值, 否则会出现误删除记录的现象。 二、 筛选删除法 利用 Excel 中提供的筛选功能将表格所有的空行筛选出来, 然后将其删除。 由于 Excel 在筛选时只能识别连续的行, 遇到空行时则不会继续向下进行筛选, 所以在进行筛选操作之前, 我们可以在表格中的任意位置插入一列, 在该列中填充一个简单的序列让表格连续起来。 依次选择“数据→筛选→自动筛选” 菜单命令, 然后任选一个字段(如“性别” ) , 选择筛选条件为“空白” , 这样就可以将空行筛选出来。 接下来选中这些空行将其删除即可, 最后再将非空行全部显示出来。 Cico 提示: 如果某记录的被筛选字段(如“性别” ) 所对应的单元格没有填写数据也会被筛选出来, 此时可再对其他字段进行筛选, 直到筛选出来的记录全为空行为止。 三、 排序删除法 利用“升序” 或“降序” 操作, 将表格中所有的空行排列到一起, 然后将其删除。 与筛选操作类似, Excel 中的排序操作也只能在连续的非空行中进行, 所以也必须在表格中新添加一个填有简单序列的列。 然后任选一个字段, 对该字段进行升序或降序排列, 此时所有的空行将会排序到表格的最后, 然后将其删除就可以了。 Cico 提示: 由于使用了排序操作, 使得表格中原有记录的顺序被打乱, 此时只需对新增的“空列” 字段进行升序排序即可。 十. 如何正确打印不连续区域的数据 如果遇到一个较大的 Excel 工作表, 却需要打印一些不连续区域的数据, 应该怎么办呢? 其实我们可以用 Excel 的“视面管理器” 就可以解决不连续区域打印问题了。 1. 启动 Excel, 打开相应的工作簿文件。 2. 执行“视图→视面管理器” 命令, 打开“视面管理器” 对话框, 单击其中的“添加” 按钮, 在随后弹出的“添加视图” 对话框中, 输入一个名称(如“全部” 等) , 确定返回。 3. 按住 Ctrl 键, 然后用鼠标分别在不需要打印的列(行) 标号上单击, 同时选中多个不需要打印出来的列(行) 。 然后右击鼠标, 在随后弹出的快捷菜单中,选“隐藏” 选项, 将不需要打印出来的列(行) 隐藏起来。 小提示: ①如果以后想让某个隐藏的列(行) 显示出来, 先同时选中隐藏列(行)左右(上下) 的列(行) , 然后右击鼠标, 在随后弹出的快捷菜单中, 选“取消隐藏”选项即可。 ②按住 Shift 键, 然后按住鼠标左键, 在相应的列(行) 标号上拖拉, 即可同时选中多个连续的列(行) 。 4. 调整好列宽和行高等要素后, 再仿照上面第 2 步的操作, 添加一个“打印” 视图。 5. 以后需要打印这个区域时, 执行“视图→视面管理器” 命令, 打开“视面管理器” 对话框, 选中相应的视图(如“打印” ) , 然后单击“显示” 按钮, 再按正常的“打印” 操作就成了。 小提示: “区域” 打印完成后, 只要将“全部” 视图显示出来, 整个工作表即刻呈现在你的面前了。 如果需要打印的局部区域是一个连续的单元格区域, 采取“设置打印区域”的方法将更加简单一些: 选中需要打印的局部区域, 执行“文件→打印区域→设置打印区域” 命令, 然后再按正常的“打印” 操作就 OK 了。 小提示: ①在设置的“打印区域” 中, 如果有隐藏的列(行) , 也不会被打印出来。 ②如果需要取消设置的“打印区域” , 只要执行一下“文件→打印区域→取消打印区域” 命令就行了。 十一. 让数据分列排好序 如果你在将网上查到的成绩数据复制到 Excel 中时, 所有数据只能在一列显示,可以按条件让它进行“分列” 。 ①首先选中需要分割的数据区域, 如 A 列。 ②选择菜单中的“数据” , 在弹出的下拉菜单中选择“分列” 。 ③在弹出的“文本分列向导” 对话框中选择“固定宽度” , 然后点击“下一步” 。 ④在需要分割的位置单击鼠标之后, 就会出现“分列线” 。 ⑤按默认的方式单击“下一步” , 点击“完成” , 即可完成“条件分列” ,将有规律的数据按正常格式进行重新排列。 小提示: 如果你需要移动“分列线” 的位置, 可按住“分列线” 并拖动至适当位置。 如果在操作过程中, 误添了多余的“分列线” , 只要双击它, 即可清除。 十二. 美观样式锦上添花 一些 Excel 表格的布局很吸引人, 直接借用别人做好的样式, 要先删除很多无关内容。 利用下面的方法可以把好样式直接提取出来作为模板, 以便以后使用。 ①同时打开自己的工作簿和要借鉴的工作簿。 ②在自己的工作簿中点击菜单栏中的“格式→样式” 命令。 ③在“样式” 对话框中可以看到很多样式, 如“数字” 、“对齐” 、“字体”等, 根据自己的需要选择样式。 ④单击“合并” 按钮, 在对话框中选中借鉴工作簿的名称, 确定后就完成了样式复制。 十三. 数组函数运用范例 工作簿内一共有两个工作表 Sheet1 和 Sheet2, 先说 Sheei1, 如下 A B C 货号 序号 名称 101 1 车背带 101 2 合前片 101 3 合后片 101 4 车手带 101 5 车边片 101 6 合前袋 101 7 车后手带 202 1 车前片链 202 2 车前袋 202 3 合包 202 4 车后片 202 5 车手垫 202 6 合前袋 表 Sheet2 如下: A B C 货号 序号 名称 101 5 [此单元格空] 101 2 [此单元格空] 101 3 [此单元格空] 101 7 [此单元格空] 202 3 [此单元格空] 202 1 [此单元格空] 要求根据 Sheet2 内容, 查找 Sheet1, 在 Sheet2 的名称列填写入正确的内容。 题目分析: 根据要求, 如果要在 Sheet2 某一行 n 填入正确的名称, 首先需要在 Sheet1找到这样的行: 该行第一列内容等于 Sheet2 某行 n 第一列, 该行第二列内容等于 Sheet2 某行 n 第二列。 因为涉及到数据的查找, 拟采用数组公式实现。 1. 首先定义名称: (定义名称使用菜单: 插入-名称) dataA=OFFSET(Sheet1!$A$1, 0, 0, COUNTA(Sheet1!$A: $A) , 1) dataB=OFFSET(Sheet1!$B$1, 0, 0, COUNTA(Sheet1!$B: $B) , 1) 这样做的好处是在于无论 Sheet1 添加了多少行, dataA 始终包括 A 列有内容的行, 这样比起直接使用 A: A 整列, 要节约很多的计算时间。 dataB 同理。 2. 匹配条件 先匹配 A 列, 选中 Sheet2! D2: D13(因为原始数据从 2~13 行) , 在编辑栏输入 =IF(dataA=A2, 1, 0) 用 Ctrl+Shift+回车, 这样可以看到凡是与 Sheet2! A2 匹配的 Sheet1 的行,在这里都变成了 1, 而不匹配的则是 0。 同理, 在 Sheet2! E2: E13 输入 =IF(dataB=B2, 1, 0) 这样我们在 D、 E 两列就得到了分别与 Sheet2!A 和 Sheet2!B 列匹配的数组。 3. 合并匹配条件 我们需要的是两个条件的与运算, 因此使用乘法是最好的, 只有两个条件同时成立, 1*1=1, 否则两个乘数里面至少有 1 个为 0, 结果为 0。 well, 在 Sheet2!F2: F13 中输入数组公式: =IF((dataA=A2) *(dataB=B2) , 1, 0) 如此一来, 就得到了一个新的由 1 和 0 组成的数组, 某元素对应 Sheet1 的行如果能够匹配, 该元素为 1, 否则为 0。 4. 检索行号 有了这个数组, 我们需要得到匹配出来的行号, 因为数组是由若干 0 和一个1 组成的, 所以我们只需要使用 MATCH 函数, 就可以得到与 Sheet2!An 匹配的Sheet1 的行号。 在 Sheet2!G1 输入 =MATCH(1, IF((dataA=A2) *(dataB=B2) , 1, 0) , 1) 注意此处虽然仅仅是在一个单元格里面输入公式, 但仍然是一个数组公式,需要使用 Ctrl+Shift+Enter。 结果就是 Sheet1 中匹配的行号。 5. 检索结果 有了行号, 检索结果就很容易了, 我们使用 INDIRECT 函数。 在 Sheet2!C2 输入数组公式: =INDIRECT("Sheet1!$C$"&MATCH (1, IF((dataA=A2) *(dataB=B2) , 1, 0) , 1) ) 注意依然使用 Ctrl+Shift+Enter, 正确的结果就出现了。 对于下面的行, 只需要拖动填充句柄复制公式就可以了。 另外别忘了删除掉用来演示的 D、 E、 F、 G 列的已经不再需要的公式。 十四. 在单元格中要打钩怎么办? 很多朋友在 Excel 中输入打钩“√ ” 号都是通过插入符号命令来插入的, 试试下面的方法: 按住 Alt 键不放, 再输入小数字键盘上的数字 41420, 松开 Alt 键就可以了。 十五. 不相邻的区域打印在同一页 当打印区域中包含工作表的不相邻区域时, 默认情况下, Excel 将把每个区域打印到单独的页面上。 如果我们做了 一张很大的 Excel 工作表, 需要将表格中的多个区域打印到同一个页面上, 这时可以使用隐藏行或列的办法将工作表的各部分打印到同一页面上。 ①如果需要将不相邻的列并排打印, 先选择不需要打印的列, 将鼠标指向“格式” 菜单中的“列” 子菜单, 单击“隐藏” 命令。 然后设置一个包含所有列的打印区域, 其中也包括隐藏的列。 ②如果需要将不相邻的行连续打印, 先选择不需要打印的行, 将鼠标指向“格式” 菜单中的“行” 子菜单, 单击“隐藏” 命令。 然后设置一个包含所有行的打印区域, 其中也包括隐藏的行。 十六. 显示部分公式运行结果的技巧 在输入较长的公式时容易出错, 如何测试其中的部分公式呢? 选中要测试公式的某一部分, 按下 F9 键, Excel 会将选定的部分替换成相应的结果。 若想恢复为原来的公式, 只需按 Esc 键或 Ctrl+Z 即可。 十七. 更改单元格格式后不刷新问题的解决方法 excel 文件中有一个日期列, 想设为以“YYYYMM” 这样的格式显示, 便选择列后,点击” 格式“=》 ” 单元格“=》 ” 数字” =》 “自定义” , 将格式设为“YYYYMM",点击确定完成操作, 可是单元格的格式并没有改变。 这是为什么啊? 我明明改变了单元格的格式啊? 于是我便尝试寻找解决方法, 刚开始找到了一个解决方法,就是双击单元格, 双击之后, 单元格的格式就改变了。 可是这并不是一个好的解决方法, 为什么呢? 因为如果数据列有很长的话, 一个一个双击, 还不把人累死。没办法只好再寻找新的解决方法。 最终找到了解决这个问题的较好方法, 方法如下: 改变单元格格式后, 打开“数据” =》 “分列” , 直接点击“完成” , 这时数据列就变为设定的格式了。 十八. 原来打印考场清单可以这样 全部考生的详细资料按考场顺序打印出来, 即一个考场打印一张清单, 这样便于核对和存档。 平时考生较少时, 采用 Excel 的插入分页符功能, 将每个考场分页,然后打印, 虽说实施起来较麻烦但还能对付。 可这次参考人员近 3000 人, 考场有 90 多个, 如果按照上述方法没有大半天时间是完成不了任务的。 正当小王一筹莫展之际, 同事小张提供了一个非常简单的办法: 用分类汇总轻松实现考场清单打印。 结果不到 30 分钟, 小王就将一份精致的考场清单交到了领导的办公桌上。 想知道他用的什么方法吗? 我们一起来看看。 图 1 是考生的详细资料, 从图 1 中可以看出, 准考证的编排是有一定规律的,其最后四位数由考场号和座位号组成, 要使考场清单按照考场号汇总, 关键是要另设一个新字段。 图 1 在 G1 单元格输入“考场号” , 在 G2 单元格输入公式“="第"&&MID(C2, 8, 2) &&"考场"” , 按〔Enter〕 键确认之后再将该公式往下拖动复制到相应单元格, 在 G 列中就自动生成了考生所在的考场号, 执行结果如图 2 所示。对于没有按照考场号排序的, 还需按照考场号和准考证号字段进行排序后, 再进行分类汇总。 图 2 将光标停放在数据中任一单元格, 执行“数据→分类汇总” 命令, 弹出如图3 所示的“分类汇总” 对话框。 在分类字段下拉框中选中“考场号” , 汇总方式为“计数” , 选定“考场号” 作为汇总项, 将“替换当前分类汇总” 、 “每组数据分页” 、 “汇总结果显示在数据下方” 三个复选框选中, 最后按下〔确定〕 按钮。 图 3 出现如图 4 所示的效果, 此时只要按下 〔打印预览〕 按钮就可查看打印效果。不过此时打印效果还不是十分理想, 我们还需对工作表进行格式设定, 如插入页眉、 页脚, 在每页设定标题行打印及页面设置等, 为使 30 人的考场清单尽量占满一页, 我们还需增加行高及字号等等。 一切准备就绪后, 就可以打印了。 图 4 十九. 在大量数据中提取特定数据 自学考试考生成绩公布了, 但上级下发到各报名点的是全地区所有考生的总成绩zcj. dbf, 有 80 多万条记录, 5 万多名考生, 而我们报名点参加考试的只有 800多人, 怎么从这“茫茫人海” 中挑出我们考生的成绩呢? 情况分析 1. 根据 zcj. dbf 中的字段不能区分各报名点。 2. 我们报名点的考生准考证号并不连续, 用附加条件的删除记录方法, 不能完全准确地剔除其他报名点考生。 解决方案 1. 先从《高等教育自学考试考务管理系统· 报考系统》 中导出考生信息,生成文件 ks. dbf。 具体方法: 启动 FoxPro, 执行“系统→输出数据” 命令, 在随即出现的一系列对话框中, 依次单击〔选择数据〕 、 〔生成 Select 语句〕 、 〔确定〕 、 〔提取数据〕 按钮, 在“数据输出” 对话框“数据提取结果” 项中, 执行鼠标右键菜单“输出(不用于上报下发) ” 命令(如图 1) 。 在随即出现的“另存为” 对话框中, 保存类型选择“可重新载入的 DBF 文件(*. dbf) ” , 文件名取为“ks”(如图 2) , 单击〔保存〕 按钮, 退出报考系统。 图 1 图 2 2. 启动 VF6. 0, 执行“文件→新建” 命令, 创建数据库 tq. dbc。 3. 执行“数据库→添加表” 命令, 将 ks. dbf、 zcj. dbf 两表添加至数据库tq. dbc(如图 3) 。 图 3 4. 执行“数据库→新建本地视图→视图向导” 命令, 选择“ks. dbf” 表中的“ks_zkz” 、 “ks_xm” 字段和“zcj. dbf” 表中的“kc_mc” 、 “bk_cj” 字段作为视图输出时使用的字段(如图 4) 。 图 4 5. 单击〔下一步〕 按钮, 进入建立表间关系的对话框, 单击〔添加〕 按钮,将关系表达式“ks. ks_zkz=zcj. ks_zkz” 加入到关系列表(如图 5) 。 图 5 6. 单击〔下一步〕 按钮, 视图输出时包含记录选择“仅包含匹配的行” 。 7. 单击〔下一步〕 按钮, 进入筛选记录的对话框, 不进行任何设置。 继续单击 〔下一步〕 按钮, 进入排序记录的对话框, 单击 〔添加〕 按钮, 将“ks. ks_zkz”添加到“选定字段” 列表框, 选择“升序” 单选按钮(如图 6) 。 图 6 8. 单击〔下一步〕 按钮, 进入限制记录的对话框, “部分类型” 选择“所占记录百分比” , “数量” 选择“所有记录” 。 9. 单击〔下一步〕 按钮, 选择“保存本地视图” , 单击〔完成〕 按钮。 在“视图名” 文本框中, 键入“view” , 单击〔确认〕 按钮。 最终结果如图 7。 图 7 10. 选中视图“view” , 执行“数据库→浏览” 命令, 查看视图结果。 11. 执行“文件→导出” 命令, 将视图结果导出成 DBF 或 Excel 格式文件。详细操作不再赘述, 可参考相关文章。 至此, 我们报名点考生成绩提取完毕。 二十. 让数据分列排好序 如果你在将网上查到的成绩数据复制到 Excel 中时, 所有数据只能在一列显示,可以按条件让它进行“分列” 。 ①首先选中需要分割的数据区域, 如 A 列。 ②选择菜单中的“数据” , 在弹出的下拉菜单中选择“分列” 。 ③在弹出的“文本分列向导” 对话框中选择“固定宽度” , 然后点击“下一步” 。 ④在需要分割的位置单击鼠标之后, 就会出现“分列线” 。 ⑤按默认的方式单击“下一步” , 点击“完成” , 即可完成“条件分列” ,将有规律的数据按正常格式进行重新排列。 小提示: 如果你需要移动“分列线” 的位置, 可按住“分列线” 并拖动至适当位置。 ...