Ms word 邮政编码+;4邮件合并被视为算术表达式

Ms word 邮政编码+;4邮件合并被视为算术表达式,ms-word,excel-formula,mailmerge,Ms Word,Excel Formula,Mailmerge,我试图在Word 2010中进行简单的邮件合并,但当我插入一个excel字段,该字段应表示康涅狄格州的邮政编码(即06880)时,我遇到了两个问题: 前导零被抑制,例如06880变为6880。我知道我至少可以切换字段代码,使其作为{MERGEFIELD ZipCode#00000}工作,这至少是可行的 但这是我似乎无法解决的真正问题: zip+4字段(如06470-5530)将被视为算术表达式。6470-5530=940,因此使用上述公式,它变为00940,这是错误的 也许我的excel电子表格

我试图在Word 2010中进行简单的邮件合并,但当我插入一个excel字段,该字段应表示康涅狄格州的邮政编码(即06880)时,我遇到了两个问题:

  • 前导零被抑制,例如06880变为6880。我知道我至少可以切换字段代码,使其作为{MERGEFIELD ZipCode#00000}工作,这至少是可行的 但这是我似乎无法解决的真正问题:

  • zip+4字段(如06470-5530)将被视为算术表达式。6470-5530=940,因此使用上述公式,它变为00940,这是错误的 也许我的excel电子表格或Word中有什么选项需要设置才能正常工作?请告知,谢谢。

    请参阅

    只要邮政编码到达Word(带或不带“-”在5+4格式的ZIP中签名时,他的字段代码应该会进行排序。但是,如果您在Excel列中混合使用文本和数字格式,则OLE DB提供程序或ODBC驱动程序(如果您正使用该驱动程序获取数据)可能会将列视为数字,并将所有文本值返回为0


    是的,正如您所注意到的,Word有时会将文本字符串视为数字表达式。当您尝试应用数字格式时,或者当您尝试在{=}字段中进行计算时,当您对{=}字段中的表格单元格内容求和时,或者当Word决定在{IF}字段中进行数字比较时,它会这样做字段-在后一种情况下,可以通过双引号将比较符括起来,让Word将表达式视为字符串。

    在Excel中,要在输入看起来像数字、日期、分数等但不是数字(zip、电话号码等)的数据时强制使用字符串数据类型,只需在数据前键入撇号即可


    =06470
    将被解释为一个数字6470,但
    =06470
    将是字符串“06470”

    我发现的最简单的修复方法是将Excel文件保存为CSV。Word将其全部按面值处理。

    在加载数据之前将单元格的格式设置为文本(鼠标右键->格式单元格->文本)您确实应该显示用于有问题合并的代码/宏。在一般情况下,这不足以解决问题,除非用户使用DDE连接到Excel。为什么?Word通过OLE DB从Excel获取数据时(Windows Word 2002及更高版本中的默认值),或ODBC,OLE DB提供程序/ODBC驱动程序根据前8列(默认情况下)确定数据源中每列的数据类型列中的单元格。因此,如果前8个单元格包含已输入为数字的邮政编码,则提供程序/驱动程序将该列视为数字。列中的文本值将传递给Word为0。因此“06470”将被视为0。因此,不是“简单”!