一、
用好选择性粘贴 利用剪贴板可以在Windows的应用程序之间交换数据,很多人喜欢在Excel中通过复制和粘贴功能复制数据,如果数据是独立的,那肯定没问题,如果待复制的数据中有公式、格式等元素,那在复制后可能会产生与要求不同的情况。其实,一般人用的是粘贴,它将源数据的所有元素(包括公式、数值、格式、边框、有效性、列宽等)全部复制,而实际上我们需要的只是其中一个方面。为此,Excel中提供了选择性粘贴的命令。举例说明,现有如下工作表: 统计人员每天输入日产量,希望把每天的日产量累加到月产量上,日产累加以后,再清为零,以便明天继续输入新的日产量。一般可以这样考虑,再增加一列叫临时月产量,其计算公式为:临时月产量=月产量+日产量,接下来,再将临时月产量的数据复制到月产量,把日产量清零。但如果直接用复制和粘贴的话,月产量和临时月产量中的值都不能正常显示,因为用到了循环调用。为此,我们可以复制后,在月产量中用选择性粘贴,再选择数值即可。 利用选择性粘贴还可单独复制其它许多设置及行列转置等。 二、
抛弃多余小数位数而导致不平衡 求和计算是Excel中用的最多的,但在舍弃多余小数位时,可能导致会计上的不平衡,如工作表中有如下内容: 在上述表中,金额=单价*数量,最后一行为合计行,求的是金额的合计。以上我们看到的表格并无问题,计算也是很精确的。但是,现在金额栏中有三位小数,而财务上要求保留两位小数,即我们将要舍弃多余的一位小数,一般地,可以通过格式工具栏上的增加(或减少)小数位来实现,或通过设置单元格格式菜单项也行。以下是设置后的效果: 从上表中我们可以看到,Excel自动作了四舍五入。不过,财务上在审查这张打印表时却出现了问题,现在我们手工计算前几项金额的合计为27.60,而不是合计栏中的27.61,事实上,不管我们是增加减少小数位或把金额部分先复制而后再求和,其显示的结果都是27.61,因为我们现在看到的金额是两位小数,其实质却有三位小数,经过复制移动等其它操作,它还是三位小数,应该说Excel的计算是很准确的,按单价乘数量得金额求和为27.607,确实27.61比较符合,比27.60更精确。但这却与财务上的要求不符(财务上要求上下平衡),Excel并没有提供允许这种误差存在的选项设置,所以只好另想办法解决。 其实,我们只要在求乘积时,将原来的金额=单价*数量改为金额=ROUND(单价*数量,2)即可,这里用到了ROUND四舍五入函数,保留多少位小数视具体情况而言,当然照抄上面的公式就麻烦了,应该用单元格代号,如金额的计算可能是=ROUND(C3*D3,2)。 或者,在求乘积时照旧,但在求金额的合计时,在求和函数外再加一个函数,将原来的合计公式=SUM(E3:E5)改为=TRUNC(SUM(E3:E5),2),也可达到上下平衡的效果。TRUNC函数的效果是截取原数的整数部分或整数部分和部分小数位。 三、
排名次问题 在Excel中进行统计时,经常用到排序功能,有时候我们要将数据按某项目排名次时,许多人就习惯先按降序排序,再用拖放句柄的方法写上每个记录的名次,不过Excel中的排序是不可逆的,为了在求得名次后回到原来的顺序,我们就不得不先准备一个字段,专门存放原来的顺序,以便再次通过排序来回到原来的顺序。 其实,在Excel中的函数中有一个叫RANK的就是专门用来排序,不过由于它参数多,一般人不太熟悉。如有下表: 现在求名次,在第一数据行的名次项里写上公式:=RANK(B2,$B$2B$6,0),然后用控制句柄拖放复制到其它数据行。其中,函数中的第一项B2为当前数值,第二项B2:B6为参与排序的范围,一定要有$号,以确保其为绝对地址,否则在复制公式时会出错,第三项为0或缺省时降序,为1升序。 在Excel中还有很多问题可以通过函数来方便解决,多了解那些平时不常用到的函数,可能会发现它在某些方面有特殊作用。 四、
工资条问题 用现存的很多工资软件或财务软件中内含的工资模块可以比较好地处理企事业单位的工资问题,但有的单位没有专门软件,有的项目变动大,或因其他原因而没有使用专门软件。很多财务人员在熟悉了Excel后发现用它来做工资是件很方便的事,比如每月一张工资表,全年一个工作簿,查询统计起来非常灵活。 在打印工资表时,并没有多大难度,也就是设置一下表头,如果要分几页打印,最好每页都有表头,可以通过“文件”菜单è“页面设置”è“工作表”选项卡,设置其中的“顶端标题行”范围为当前表的标题所在行即可。就算不知道这个,也可以手工分页,手工插入表头,所以一般人都能完成。 但工资条就不同了,因为工作表中的每一个记录都要先打印一个表头,如果一条记录算一页,就太浪费时间和纸张了。很多人冥思苦想却不得其解,Excel本身确也没有提供相应功能,笔者经过试验,发现多做几步操作也可以达到相应要求。如原工作表如下: 已有工作表字段:姓名,工资,奖金,扣款,实发(当然是公式计算得到)。另外,我们再增加两个字段:编号一,编号二。 将当前表中的各记录的编号一标记为自然顺序,然后根据记录总数,将“姓名,工资……”标题栏复制成多份(人手一份),同样把编号一标记为自然顺序,再将同样多的空记录的编号一标记为自然顺序。以下在复制和标记顺序时都可以用拖放控制句柄的方法实现。现在形成了以下表格: 标题不变,第一部分为记录,第二部分为打印标题,第三部分为空,每两部分之间不得有空行。再设置编号二,第一部分为1,第二部分为2,第三部分为3。 接下来,对整个工作表排序:有标题行,第一关键字为编号一并递增,第二关键字为编号二并递增,确定后,我们可看到如下像模像样的工资条了: 选择除第一行和最后两列的其他内容,立即打印就是了。为了便于裁剪,可将所有的空行设为“- - - - - - ”,即用虚线替代。为了美观,也可以把编号一和编号二两列删除。 五、
宏的问题 很多人不知道“宏”,很多人知道宏,也听说过在Office文档中可能含有宏病毒,但对如何应用宏不清楚,我想能够熟练编辑、使用宏的人多半不会做办公室的事而是去专门从事开发工作了。简单地说,在Excel中,我们通过很多步才完成了某个操作,比如上述工资条问题,当我们做下个月的工资时,生成工资条的方法是完全一样的,于是我们可以把本次生成工资条的操作过程录制下来保存好,下个月要用时,只要把上次保存的那个操作过程再执行一遍就行了,这个保存好的操作过程就是一个宏。以上述工资条操作来说明录制宏的过程如下: 新建一个工作表,将相应的工资表原始数据复制到这个工作表中(确保左上角在A1单元格),选择“工具”菜单中的“宏”中的“录制新宏”,将宏名改为“工资条生成”(比较直观)。确定后开始录制。 在当前工作表的右边写上“编号一”、“编号二”两个标题栏。 将各记录的编号一标记为自然顺序(可在第一条的编号一处写上1,再用Ctrl+拖放控制句柄的方法实现)。 将第一行标题中的前几列复制到最后,并拖放句柄复制多个(不少于工资表记录数)。 将上一步中复制得到的各打印标题行的编号一标记为自然顺序(方法同前)。 在下方空行处,标记若干行的编号一为自然顺序(方法同前)。 将第一部分(记录)的编号二全标记为2(可直接拖放控制句柄)。 将第二部分(打印标题)的编号二全标记为1。 将第三部分(空行)的编号二全标记为3。 排序,有标题行,第一关键字为编号一并递增,第二关键字为编号二并递增。 删除最后两列(编号一,编号二) 删除第一行(标题行) 单击“宏”工具栏上的停止按钮,一个叫“工资条生成”的宏已做成了。以后,要生成工资条,只要把这个月的工资表复制到一个新的工作表,然后打开“工具”菜单è选择“宏”è再单击“宏”子菜单项,看到有一个“工资条生成”的宏,双击就能执行。如果你熟悉VBA编程,还可对这个宏进行某些修改。 六、
把常用的操作放到菜单中 在上述问题中,我们已经建立了一个“工资条生成”的宏,要是把他放到菜单中,以后单击菜单项来执行就更好了。具体操作如下: 点击“工具”菜单中的“自定义”项,选择“命令”选项卡中的“新菜单”,将“新菜单”拖到Excel菜单栏,用鼠标右击来重命名“新菜单”为“我的菜单”(以后自己制作的小菜单都放在这里)。 再点击“工具”菜单中的“自定义”项,选择“命令”选项卡中的“宏”,将“自定义按钮”拖到新建的“我的菜单”下,并重命名为“生成工资条”,然后在指定宏中指定上一题中录制的“工资条生成”宏。要是换一个图标,就更亲切了。 重复上一步,可生成其他不同的菜单项。 通过这种方法,完全可以把多个常用操作都做到菜单中,这样就形成了一个独特的微型管理系统了,并且比专门的数据库系统更加容易操作。 |