邮件合并使用一个Word文档,但需要根据Excel数据进行多次迭代

邮件合并使用一个Word文档,但需要根据Excel数据进行多次迭代,excel,ms-word,mailmerge,Excel,Ms Word,Mailmerge,这是一篇从今天开始更新的帖子,因为参数已经改变 我有一张Excel表格,上面有数据。我有一个Word文档,它指示我根据Excel中的数据选择要使用的段落。例如,如果Excel中的NewClient列有一个X,那么我选择第2段作为字母。如果是空白,我选择第1段。如果它有一个Y,那么我选择第3段。在本文档中,我有几个例子可以从中选择三件事。有没有办法通过邮件合并做到这一点?我已经减少到添加列并用不同的段落填充它们。这“行得通”,但这不是我老板想要的解决方案。他们认为我们可以通过某种方式使用字段和if

这是一篇从今天开始更新的帖子,因为参数已经改变


我有一张Excel表格,上面有数据。我有一个Word文档,它指示我根据Excel中的数据选择要使用的段落。例如,如果Excel中的NewClient列有一个X,那么我选择第2段作为字母。如果是空白,我选择第1段。如果它有一个Y,那么我选择第3段。在本文档中,我有几个例子可以从中选择三件事。有没有办法通过邮件合并做到这一点?我已经减少到添加列并用不同的段落填充它们。这“行得通”,但这不是我老板想要的解决方案。他们认为我们可以通过某种方式使用字段和if…then…else,在每个实例中神奇地生成这个Word文档

为什么不在Excel中对列表进行排序,然后创建两个列表。一个是有x的人,另一个是没有x的人。然后,您可以在Word中对每个列表进行邮件合并。

在邮件合并中有条件地改变文本是一项简单的编程任务-所有这些都是通过字段编码完成的。例如:

{IF{MERGEFIELD NewClient}= "X" "NewClient Text for X"}{IF{MERGEFIELD NewClient}= "Y" "NewClient Text for Y"}{IF{MERGEFIELD NewClient}= "" "NewClient Text for blank"}

注意:上述示例中的字段大括号对(即“{}”)都是在文档本身中通过Ctrl-F9(Mac上的Cmd-F9,或者如果使用笔记本电脑,则可能需要使用Ctrl-Fn-F9)创建的;您不能简单地在此邮件中键入或复制粘贴它们。通过任何标准的单词对话添加它们也不切实际。现场施工中表示的空间都是必需的。如果需要,条件输出可以包括多个段落、表格和图像。

Yeah。这不是老板们想要的。我可以告诉你所有涉及的愚蠢,但你不会相信。也许我不明白困难在哪里。看起来你需要做的就是用标题段落创建一个额外的列,并通过names=IF(B2=“x”,$J$1,$H$1)向下复制下面的公式,其中J1包含有x的情况下你想要的段落,H1包含没有x的情况下的段落。B是包含x或不包含x的列,我们被告知不能触摸Excel文件。但随着时间的推移,这似乎将不得不发生。所以,我非常感谢你!!我们可以用它!我刚刚得到确认,我们不允许触摸Excel表格中的数据。我们在Word文档中进行了多次迭代,这意味着如果我们无法找到在Word中使用if…then…else的方法,将创建大约25个不同的文档。请理解堆栈溢出是用于编程问题的。邮件合并基本上是一个最终用户问题,这样的问题应该在超级用户网站上提问。这就是说,邮件合并可能可以用IF字段处理这个问题,字段代码问题可以在堆栈溢出主题上。那么,您需要的是要测试的内容的合并字段名。