John注意到Excel提供了三种连接值的方法:使用&运算符,CONCATENATE函数和新的CONCAT函数。

他想知道这些将价值组合在一起的各种方式之间的差异,以及哪种方式最适合使用。

实际上,还有另一个新函数(TEXTJOIN)也可以用来连接值。这意味着Excel现在有四种不同的方法可以将值组合到一个字符串中。

但是,在解释差异之前,最好是在讨论“新功能”时定义“新”的含义。

具体来说,这意味着如果该版本的Excel基于Office 365订阅,则使用Excel 2016的用户可以使用这些新功能。这意味着,如果您具有独立的Excel 2016,则将无法访问CONCAT或TEXTJOIN。您只能通过订阅获得它们。如果您具有Office 365订阅,并且不能使用CONCAT或TEXTJOIN,则需要检查更新并确保已更新为最新版本-这两个功能自2016年2月起可用。

现在是用于组合值的传统方法:使用&运算符或CONCATENATE函数之间的区别很小。理论上最大的不同是CONCATENATE函数最多可使用255个参数,而&运算符则不能。 (我之所以说“理论上的”,是因为您必须做很多工作才能将255个参数与CONCATENATE一起使用。)就我个人而言,我更喜欢使用&运算符,因为它花费的时间更少,而且对我来说更清楚比功能方法。

可以这么说,CONCAT函数可以更好地完成传统方法:可以将范围用作参数。这实际上很酷;考虑以下用法:

=A1 & A2 & A3 & A4

很简单吧?好吧,使用CONCAT,您可以简化为:

=CONCAT(A1:A4)

如果要使用矩形区域,效果会更好。旧方法是这样的:

=A1 & A2 & A3 & A4 & B1 & B2 & B3 & B4

使用CONCAT的方法如下:

=CONCAT(A1:A4, B1:B4)

如果您对此进行了一些修改,则可以轻松在以下范围内逐行合并值:

=CONCAT(A1:B4)

这等效于以下内容:

=A1 & B1 & A2 & B2 & A3 & B3 & A4 & B4

现在,让我们将TEXTJOIN函数投入使用。此函数在要连接的单元格列表或单元格范围之前添加两个必需的参数。这些参数允许您添加定界符并指示是否应忽略空单元格。这是一个示例:

=TEXTJOIN(" ", TRUE, A1:B4)

在这种用法中,该函数会在其串联的每个单元格值之间自动添加一个空格字符。分隔符不限于单个字符;您可以使用多个字符。这肯定会打败旧的方法:

=A1 & " " & B1 & " " & A2 & " " & B2 & " " & A3 & " " & B3 & " " & A4 & " " & B4

第二个TEXTJOIN参数在此示例中设置为TRUE,指示是否要跳过要连接的范围内的空白单元格。使用其他任何串联方法实际上都是不可能的,这使TEXTJOIN函数非常强大。另外,它摆脱了“双重定界符”,因为它实际上在添加到结果字符串的每个值之间仅包含一个定界符。

您应该使用这四种方法中的哪一种来连接您的值?

这取决于您,但是如果您要开发供旧版本Excel使用的工作簿,则建议坚持使用&运算符或CONCATENATE函数。但是,如果您非常确定使用该工作簿的人员将始终拥有最新版本的Excel,那么我将跳过CONCAT并几乎完全使用TEXTJOIN函数。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(4629)适用于Microsoft Excel 2007、2010、2013和2016。