分享

CONCATENATE,PHONETIC,CONCAT,TEXTJOIN函数

 ExcelEasy 2022-05-03 发布于北京

分类:文本函数

CONCATENATE,PHONETIC,CONCAT,TEXTJOIN,这四个函数都是用来进行多个字符串的连接的。

在Excel中,进行字符串连接还有一个操作符:&

&(连字符)

在Excel中,进行多个字符串连接时,最经常使用的是连字符:&,这是一个运算符,用来将两个字符串连接成一个新的字符串。使用起来非常简单,

CONCATENATE

CONCATENATE函数的作用跟连字符(&)一样,它可以将多个字符串连接成一个新的字符串。

下面是CONCATENATE的语法:

CONCATENATE(text1, [text2], ...)

参数有多个文本构成,最少是一个,最多是255个,最多连接8192个字符。

使用也非常简单,下面是示例:

注意,要将多个单元格中的字符串连接在一起,你不能使用类似下面的用法:

=CONCATENATE(B3:B8)

这么使用不能算作错误,但是结果不是你期望的:

实际上,这个公式返回的是个数组。因为Excel内部的机制,导致在C5单元格中,返回的是Power Query这个值。

回到它的正确用法:上一个例子,公式:

=CONCATENATE(B3,B4,B5,B6)

实际上等价于

=B3&B4&B5&B6

比较这两个写法,明显的后一个比前一个更简洁,因此,相比较而言,推荐使用连字符:&。

PHONETIC

首先声明,不是所有版本的Excel都有PHONETIC函数。微软帮助中说这个函数只在日文版的Excel中出现,其实中文本和英文版中都有这个函数。

而且,PHONETIC被归类为信息函数,但是从实际用途来说,我们宁愿把它归类为文本函数。

这个函数的使用非常简单,它可以用一个单元格区域为参数,按照先行后列的顺序,从左到右从上到下的将单元格中所有单元格中的字符串连接成一个新的字符串,如下图所示:

但是要注意,这个函数的说明是这样的:

获取带有拼音信息的字符串

这句话的含义不是很好理解,可以简单的理解为:

返回区域中的所有文本信息。

我们举例说明:

在这里,我们看到PHONETIC公式结果中并没有包含B5中的值(123),这是因为PHONETIC函数只读取文本信息,数值信息会被忽略。

而B6中的456在结果中出现,这是因为这个456并不是单独出现的,而是跟在“a”后面,所以B6是个字符串“a456”,当然会在结果中返回。

B7中的789也出现在结果里了,单元格左上角的小三角提示我们,这个单元格存储的是文本类型的数值,也就是说,看上去是数字,实际是个文本,当然会在结果中出现。

如果参数区域是多列,PHONETIC的顺序如下图:

CONCAT

CONCAT是个新函数,只在Office365或者Excel 2019之后的版本中才有。

实际上,微软打算用CONCAT来代替CONCATENATE函数,之所以现在还保留CONCATENATE函数,主要是为了兼容。

CONCAT函数兼具CONCATENATE和PHONETIC的功能。既可以这么用:

=CONCAT(B3,B4,B5,B6,B7,B8)

也可以这么用:

=CONCAT(B3:B8)

它们的结果是一样的

对于多行多列的区域来说,CONCAT的工作方式跟上面介绍的PHONETIC函数是一样的。

与CONCATENATE相比,CONCAT有如下不同:

  1. CONCATENATE支持255个参数,CONCAT支持253个参数。不过这一点应该没有什么影响。

  2. CONCATENATE最多支持8192个字符,而CONCAT可以达到单元格文本长度的上限:32767个字符。

  3. CONCATENATE不支持区域作为参数,多个单元格的字符串连接时,非常不方便,CONCAT可以使用一个或多个区域作为参数,非常灵活。

而与PHONETIC相比,CONCAT有如下不同:

  1. PHONETIC不能连接数值,日期,逻辑值等非文本信息,而CONCAT支持所有这些单元格中的数据信息。

然后,不管是CONCATENATE,PHONETIC,还是CONCAT,都有一个共同的缺点:

不支持分隔符设定。

如果在连接时要用分隔符,CONCATENATE函数必须如下使用:

=CONCATENATE(B3,",",B4,",",B5,",",B6,",",B7,",",B8)

而PHONETIC和CONCAT必须添加一个辅助列作为分隔符,如下图所示:

TEXTJOIN

TEXTJOIN也是一个新函数,只在OFFICE365或Excel 2019之后的版本中出现。

TEXTJOIN函数可以非常灵活的进行字符串连接操作,它的语法如下:

TEXTJOIN(分隔符, ignore_empty, text1, [text2], …)

第一个参数是分隔符,这样,就不用想CONCAT或PHONETIC那样添加辅助列了。

第二个参数是ignore_empty,这是一个逻辑值,如果为TRUE,在合并字符串时就会忽略空白单元格。

后面是需要连接的字符串,可以是单独的字符串,也可以是个单元格区域或者数组。最多可以有252个表示文本的参数。

返回值可以达到单元格文本长度的上限:32767。

下面是两个例子,

两个例子返回同样的结果,我们可以从中看出:

  1. 后一个写法更加简洁

  2. 区域和单独的常量字符串可以同时作为参数使用。

下面这个例子更具启发性,值得好好研究一下:

Excel+Power Query+Power Pivot+Power BI


Power Excel 知识库    按照以下方式进入知识库学习
Excel函数   底部菜单:知识库->Excel函数

自定义函数  底部菜单:知识库->自定义函数

Excel如何做  底部菜单:知识库->Excel如何做

面授培训  底部菜单:培训学习->面授培训

也可以在历史文章中学习Excel,Power Query,Power Pivot,Power BI,Power Automate各种技巧。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多