笔者由于工作需要经常用到Word的邮件合并功能,这样可以批量地将Excel工作表中的信息迅速排版打印,但在实际使用中却经常出现虽然Excel工作表中保留的是两位小数,但通过邮件合并后却发现数字竟然显示为保留了多达十几位小数(如下图1)。经过一番研究,笔者得出四种方法解决这个问题。
最简捷的方法
打开储存工资信息的Excel工作表,在工作表的第2行中插入一个空白行,然后在单元格内输入字母“A”,大小写随意,最后再执行邮件合并操作,这样Word就会以操作字符串的形式来对待此工作表内信息,邮件合并后的工资条内就不会出现小数位过长的现象了。
小提示:经过尝试,在Excel 2007工作表中将储存数字的单元格格式设置为“文本”格式同样可以解决小数位过长的问题,而Excel 2003及以前版本则必须使用上述方法才能避免小数位过长。
如果你使用的是Excel 2003,则在邮件合并之前打开你要进行邮件合并的Excel文件,然后执行“工具→选项”命令,切换到“重新计算”标签,勾选“以显示精度为准”选项,然后点击“确定”按钮并保存表格,最后再进行邮件合并就不会出现问题了。
最强大的方法
上面的方法虽然简单实用,但功能不够强大,难以自定义显示的数据格式,比如现在需要将税款一项更改为会计用货币格式如“¥1,004.40”,这时应该如何设置呢?
第一步:同时按下Alt+F9,用鼠标右击灰色部分,执行“编辑域”命令,在“域”对话框中选择“域名”→的“NumWords”→“数字格式”→“¥#,##0.00;(¥#,##0.00)”。
第二步:单击“域”对话框左下角的“域代码”按钮,复制“域代码”窗口中 “NUMWORDS \# "¥#,##0.00;(¥#,##0.00)"”,鼠标定位到Word界面中的“域”代码编辑区内第二个小写分号之后将其粘贴,然后按Alt+F9键返回数据结果界面,再次按下F9键更新数据即可。
小提示:在粘贴代码时,一定要注意确保Word界面中的“域”代码编辑区内第二个小写分号之后没有任何字符,甚至连空格也不可有。
最舍得的方法
笔者还负责为单位职工发放工资,每当员工支取工资时,笔者一般都会将工资条中不足1元部分舍去,大多数情况下并不进行四舍五入,以免账面出现亏损,所以笔者便发现了此“最舍得的方法”。
①在Word中同时按下“Ctrl+F”快捷键打开“查找和替换”对话框,点击“替换”标签。
②在“查找内容”后的输入框中输入“.([1234567890]{1,})”(不含双引号),将“替换为”后的输入框留空(图2)。
③点击“更多”按钮打开高级选项,确保勾选“使用通配符”选项,最后点击“全部替换”按钮即可将所有工资条中不足1元的零钱部分舍去。
小提示:其中“()”用于分组,“[1234567890]”表示出现方括号中的任一字符,“{1,}”表示只要出现1个前一字符即符合条件。
转换格式法
通过实践,笔者发现将Excel表格转换成Word表格后,再进行邮件合并操作同样可以避免出现合并后小数位过长的现象。
第一步:在Word中执行“工具→选项”命令,在弹出的对话框中切换到“常规”标签,勾选“打开时确认转换”选项,最后按下“确定”按钮(图3)。
第二步:点击“邮件合并”工具栏中左侧第二个“打开数据源”按钮,在“选取数据源”对话框中选择要导入的Excel表格文件,在弹出的“确认数据源”对话框中选择“MS Excel工作簿通过DDE(*.xls)”,在随后出现的对话框中确定“整张电子表格”,然后再一一执行“插入域”命令就可以确保Word文档在邮件合并后不出现过长的小数位了。