前两天在网上看到一个网友小A求助的帖子,具体内容如下:
某公司共有500家分公司,分别为分公司1、分公司2......分公司500。2020年度的内部审计针对这500家分公司展开,并将审计中发现的问题整理到一张Excel中,几乎每个分公司都有问题,或2个、或5、8个、10个,或多或少。每个分公司可能被审了1次、2次甚至3次5次。
年终了,需要将全年的审计问题全部发给500家分公司,并由这500家反馈整改结果,即每个分公司一个审计事实确认书。求大神们指导。十万火急!
类似于这种将一个Excel表格的数据链接到一个或多个Word文档的需求,只需要利用到Word强大的邮件合并功能就可以实现了。只不过有一个需求实现起来有点困难:在审计事实项中同一家公司有多个问题(多行)要输出在Word的一个单元格中。
传统的一一对一邮件合并,每一行Excel的数据,只能输出到一页的Word文档中,也就是问题1在第一页,问题2在第二页,以此类推。
不过,如果你已经订阅了我的线上课程《Office高效办公秘诀之邮件合并》,那这问题都不是问题了,现在我就来给你详细介绍一下解决方案。
步骤1:规范Excel数据源表格的结构和内容邮件合并要求数据源表格的第一行必须是表格的标题行,红色方框的2行必须删除,才符合邮件合并数据源的规范。
另外,不建议在标题行中以手动换行的方式输入标题,这不利于后面的数据关联。
由于要输出的审计事实的数据是有添加了序号的,所以我们要增加一个带序号的问题描述。你可能会问,为什么不可以直接在Word中使用自动编号功能生成序号,原因是我们在做一对多邮件合并的时候,无法确认每个分类中包含多少行数据,比如A1分公司有6个问题,A2分公司有4个问题,如果有自动序号的话,A2分公司后面多出来的两行多出现5、6、两个空白的序号。
我们可以使用公式:
=COUNTIFS($B$2:B2,B2)&"."&C2生成带序号的问题描述,COUNTIFS是多条件计数的函数,&是用来合并字符串的。
同样用&连接符生成最终输出的Word报告的文件名称,以作为导出的文件名。
好了,现在到了最关键的一项,区分信函型一对多邮件合并的不同分类项的标志。这里我使用了辅助作为这一列的名称,公式为=IF(B2=B3,1,0)。也就是如果当前行和下一行的网点名称相同就输出1,意味着是同一个网点。而如果不相同就输出0,意味着下一行是另一个网点的数据。
到这里Excel表格就是修改完毕了,接下来我们打开要生成的Word文档。
步骤2:插入合并域字段并生成独立Word文档及自动关联Outlook进行邮件群发以常规的信函型邮件合并插入除审计事实以外的其他合并域字段。
《审计事实确认书》第一行正常插入《带序号的问题描述》,下一行就需要使用《Office高效办公秘诀之邮件合并》中的Enjoyoffice Tools插件的”一对多-插入一对多域字段(信函型)”,勾选“首列字段”。根据最大问题行数,复制多行,完成审计事实数据的一对多的插入。
如果你没有订阅本课程,也可以自己手工输入这些域代码,大括号要通过【CTRL F9】这组快捷键插入:
之后使用Enjoyoffice Tools中的“合并到不同新文档”,以域名“生成文件名称”作为新文档的名称。
这是生成的文档:
这是A1分公司文档中的具体内容。
如果想要通过邮件附件的方式发送,直接点击“邮件”选项卡中的“发送电子邮件”功能就可以了。
这种发送方式无法输入邮件正文,如果既想要输入邮件正文,又需要插入附件,就需要使用Enjoyoffice Tools插件中的“Outlook插件附件”功能。
像这个数据表中只有两家公司,总共会发送出去2封电子邮件,到这里就实现了小A的需求了。最重要的是这个操作是一劳永逸的,以后只需要变更Excel表格的数据,打开Word文档生成的数据就可以自动更新了。
,