Excel的CONCATENATE函数可以合并字符串、单元格、列

  • Share This
Michael Brown

在这篇文章中,你将学习在Excel中使用CONCATENATE函数和"& "操作符来连接文本字符串、数字和日期的各种方法。 我们还将讨论合并单个单元格、列和范围的公式。

在你的Excel工作簿中,数据的结构并不总是按照你的需要。 通常你可能想把一个单元格的内容分割成单独的单元格,或者做相反的事情--把两列或多列的数据合并成一列。 常见的例子是把名字和地址部分连接起来,把文本与公式驱动的值结合起来,以所需的格式显示日期和时间,仅举几例。

在本教程中,我们将探讨Excel字符串连接的各种技术,以便你可以选择最适合你工作表的方法。

    什么是Excel中的 "连接"?

    从本质上讲,在Excel电子表格中,有两种方法可以组合数据。

    • 合并单元格
    • 串联单元格的值

    当你 合并 因此,你有一个更大的单元格,在多行和/或多列中显示。

    当你 串联 在Excel中的单元格,你只需结合 内容 换句话说,Excel中的连接法是将两个或更多的值连接在一起的过程。 这种方法经常被用来合并位于不同单元格中的几段文字(从技术上讲,这些被称为 文本字符串 或者干脆 字符串 )或在一些文本的中间插入一个公式计算的值。

    下面的截图展示了这两种方法之间的区别。

    在Excel中合并单元格是另一篇文章的主题,在本教程中,我们将讨论在Excel中连接字符串的两种主要方式--通过使用CONCATENATE函数和连接操作符(&)。

    Excel的CONCATENATE函数

    Excel中的CONCATENATE函数用于将不同的文本连接在一起,或将几个单元格的值合并到一个单元格中。

    Excel CONCATENATE的语法如下。

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

    在哪里? 文本 是一个文本字符串、单元格引用或公式驱动的值。

    所有版本的Excel 365-2007都支持CONCATENATE功能。

    例如,要用逗号连接B6和C6的值,公式为:。

    =concatenate(b6, ",", c6)

    更多的例子显示在下面的图片中。

    注意:在Excel 365 - Excel 2019中,还提供了CONCAT函数,它是CONCATENATE的现代继承者,语法完全相同。 虽然保留CONCATENATE函数是为了向后兼容,但微软没有给出任何承诺,在未来的Excel版本中会支持它。

    在Excel中使用CONCATENATE--需要记住的事项

    为了确保你的CONCATENATE公式总是提供正确的结果,请记住以下简单规则。

    • Excel的CONCATENATE函数至少需要一个 "文本 "参数才能工作。
    • 在一个公式中,你最多可以串联255个字符串,总共8192个字符。
    • CONCATENATE函数的结果总是一个文本字符串,即使所有的源值都是数字。
    • 与CONCAT函数不同,Excel CONCATENATE不能识别数组。 每个单元格引用必须单独列出。 例如,你应该使用CONCATENATE(A1, A2, A3)而不是CONCATENATE(A1:A3)。
    • 如果任何一个参数无效,CONCATENATE函数会返回一个#VALUE!错误。

    在Excel中连接字符串的"& "操作符

    在Microsoft Excel中,安培号(&)是另一种连接单元格的方法。 这种方法在很多情况下都非常方便,因为输入安培号比输入 "连接 "一词要快得多 :)

    例如,要连接两个中间有空格的单元格值,公式为:。

    =A2&" "&B2

    如何在Excel中串联--公式示例

    下面你将看到一些在Excel中使用CONCATENATE函数的例子。

    连接两个或多个没有分隔符的单元格

    为了结合 两个细胞 你可以使用最简单的串联公式,将其变成一个。

    =concatenate(a2, b2)

    =A2&B2

    请注意,这些值将被编织在一起,没有任何分隔符,就像下面的屏幕截图。

    要串联 多细胞 例如,你需要单独提供每个单元格的引用,即使你正在合并连续的单元格。

    =concatenate(a2, b2, c2)

    =A2&B2&C2

    这些公式对文本和数字都有效。 如果是数字,请记住,其结果是一个文本字符串。 要将其转换为数字,只需将CONCATENATE的输出乘以1或加上0即可。 例如::

    =concatenate(a2, b2)*1

    提示:在Excel 2019和更高版本中,你可以使用CONCAT函数来快速连接使用一个或多个范围引用的多个单元格。

    用空格、逗号或其他分隔符串联单元格

    在你的工作表中,你可能经常需要以包括逗号、空格、各种标点符号或其他字符(如连字符或斜线)的方式连接数值。 要做到这一点,只需在连接公式中放入所需的字符。 记住要用引号括住该字符,如以下例子所示。

    将两个单元格用A连接起来 空间 :

    =concatenate(a2, " ", b2)

    =A2 & " " & B2

    将两个单元格用A连接起来 逗号 :

    =concatenate(a2, ", ", b2)

    =A2 & ", " & B2

    将两个单元格用A连接起来 连字符 :

    =concatenate(a2, "-", b2)

    =A2 & "-" & B2

    下面的截图展示了结果可能是什么样子的。

    提示:在Excel 2019和更高版本中,你可以使用TEXTJOIN函数来合并来自多个单元格的字符串,并指定任何分隔符。

    串联文本字符串和单元格值

    Excel的CONCATENATE函数没有理由只限于连接单元格的值。 你也可以用它来组合文本字符串,使结果更有意义。 例如。

    =CONCATENATE(A2, " ", B2, " 完成" )

    上述公式通知用户某个项目已经完成,如下面截图中的第2行。 请注意,我们在 "完成 "一词前加了一个空格,以分隔串联的文本字符串。 在组合值之间也插入了一个空格(""),因此结果显示为 "项目1 "而不是 "Project1"。

    使用连接运算符,该公式可以这样写。

    =A2 & " " & B2 & " 完成"

    以同样的方式,你可以在连接公式的开头或中间添加一个文本字符串。 例如。

    =CONCATENATE("参见", A2, " ", B2)

    ="参见" & A2 & " " & B2

    连接文本字符串和另一个公式

    为了让你的用户更容易理解一些公式所返回的结果,你可以用一个文本字符串来连接它,解释这个值到底是什么。

    例如,你可以使用下面的公式来返回所需格式的当前日期,并指定那是哪种日期。

    =CONCATENATE("今天是",TEXT(TODAY(), "mmm d, yyyy")

    ="今天是" & TEXT(TODAY(), "dd-mmm-yy")

    提示:如果你想删除源数据而不影响生成的文本字符串,可以使用 "粘贴特殊--仅值 "选项将公式转换为其值。

    用换行符串联文本字符串

    大多数情况下,你会用标点符号和空格来分隔产生的文本字符串,如前面的例子所示。 然而,在某些情况下,可能需要用换行符或回车符来分隔这些值。 一个常见的例子是合并不同列中的数据的邮寄地址。

    一个问题是,你不能像通常的字符一样简单地在公式中输入换行符,而是要使用CHAR函数向连接公式提供相应的ASCII码。

    • 在Windows系统中,使用CHAR(10),其中10是指以下的字符代码 换行 .
    • 在Mac上,使用CHAR(13),这里的13是指以下的字符代码 回车 .

    在这个例子中,我们在A列到F列有地址碎片,我们通过使用连接操作符"& "把它们放在G列。 合并后的值用逗号(",")、空格("")和换行符(10)分开。

    =A2 & " " & B2 & CHAR(10) & C2 & CHAR(10) & D2 & " , " & E2 & " " & F2

    CONCATENATE函数将采取这种形式。

    =concatenate(a2, " ", b2, char(10), c2, char(10), d2, " ", e2, " ", f2)

    无论哪种方式,结果都是一个3行文本字符串。 注意:当使用换行符来分隔组合值时,你必须启用 "换行 "功能,以便正确显示结果。 要做到这一点,按Ctrl + 1打开 格式化单元格 对话框,切换到 统一口径 选项卡,并检查 包裹文本 箱子。

    以同样的方式,你可以用其他字符来分隔最后的字符串,如:。

    • 双引号(") - CHAR(34)
    • 正向斜线(/) - CHAR(47)
    • 星号(*)--CHAR(42)。
    • 的全部名单。 ASCII代码 可在此获得。

    如何在Excel中串联列

    要连接两列或多列,只需在第一个单元格中输入连接公式,然后通过拖动填充柄(出现在所选单元格右下角的小方块)将其向下复制到其他单元格。

    例如,要合并两列(A列和B列),用空格划定数值,C2中复制下来的公式是:。

    =concatenate(a2, " ", b2)

    = A2 & " " & B2 提示:将公式复制到下一列的快速方法是选择带有公式的单元格,双击填充柄。

    更多信息,请参见如何在Excel中合并两列而不丢失数据。

    结合文本和数字保持格式化

    当将文本字符串与数字、百分比或日期连接时,你可能希望保留数字值的原始格式或以不同的方式显示。 这可以通过在TEXT函数中提供格式代码来实现,你可以将其嵌入连接公式中。

    在本教程的开头,我们已经讨论了一个将文本和日期连接起来的公式。

    这里还有几个公式的例子,结合了 文字和数字 :

    有2位小数的数字和$符号。

    =A2 & " " & TEXT(B2, "$#,#0.00")

    不含微不足道的零和$符号的数字。

    =A2 & " " & TEXT(B2, "0.#")

    分数。

    =A2 & " " & TEXT(B2, "# ?/??")

    要串联 文本和百分比 ,公式为。

    有两位小数的百分比。

    =A12 & " " & TEXT(B12, "0.00%")

    四舍五入的整数百分比。

    =A12 & " " & TEXT(B12, "0%")

    如何在Excel中串联单元格的范围

    由于Excel的CONCATENATE函数不接受数组,因此将多个单元格的值合并起来可能需要花费一些精力。

    要连接几个单元格,例如A1到A4,你需要使用以下公式之一。

    =concatenate(a1, a2, a3, a4)

    =A1 & A2 & A3 & A4

    当合并相当小的一组单元格时,键入所有的引用并没有什么大不了的。 如果是一个大的范围,手动键入每个单独的引用,那就很乏味了。 下面你会发现在Excel中快速串联范围的3种方法。

    方法1.按CTRL键选择多个单元格

    为了快速选择几个单元格,你可以按住Ctrl键,同时点击你想包含在公式中的每个单元格。 下面是详细步骤。

    1. 选择一个你要输入公式的单元格。
    2. 在该单元格或公式栏中输入=CONCATENATE(。
    3. 按住Ctrl键,点击你想串联的每个单元格。
    4. 松开Ctrl键,输入结束括号,然后按回车键。
    注意:使用这种方法时,你必须点击每一个单独的单元格。 用鼠标选择一个范围会给公式添加一个数组,而CONCATENATE函数不接受这种情况。

    方法2.使用TRANSPOSE函数来获得所有单元格的值

    当一个区域由几十或几百个单元格组成时,前面的方法可能不够快,因为它需要点击每个单元格。 在这种情况下,你可以使用TRANSPOSE函数来返回一个数组的值,然后一举将它们合并起来。

    1. 在你希望出现结果的单元格中,输入TRANSPOSE公式,例如。

      =transpose(a1:a10)

    2. 在公式栏中,按F9将公式替换为计算值。 结果,你将有一个需要连接的数值阵列。
    3. 删除数组周围的大括号。
    4. 在第一个数值前输入=CONCATENATE(,然后在最后一个数值后输入闭合括号,并按回车键。

    注意,这个公式的结果是 静电 如果源数据发生变化,你将不得不重复这个过程。

    方法3.使用CONCAT函数

    在Excel 365和Excel 2021中,这个简单的公式会在一眨眼的时间内将一系列的单元格连接起来。

    =concat(a1:a10)

    方法4.使用合并单元格插件

    在Excel中,一个快速且无公式的串联任何区域的方法是使用合并单元格插件的" 合并选择中的所有区域 "选项关闭,如《将几个单元格的值合并为一个单元格》中所展示的。

    Excel"& "操作符与CONCATENATE函数的比较

    许多用户想知道在Excel中哪种连接字符串的方法更有效--CONCATENATE函数和"& "操作符。

    唯一真正的区别是CONCATENATE函数有255个字符串的限制,而使用安培尔时没有这种限制。 除此之外,这两种方法没有区别,CONCATENATE和"& "公式之间也没有任何速度上的区别。

    由于255是一个非常大的数字,而且你在实际工作中几乎不需要结合这么多的字符串,所以区别归结为舒适性和易用性。 一些用户认为CONCATENATE公式更容易阅读,我个人更喜欢使用"& "方法。 所以,只需坚持使用你觉得更舒适的技术。

    与Excel中的CONCATENATE相反(分割单元格)。

    在Excel中与连接相反的是将一个单元格的内容分割成多个单元格。 这可以通过几种不同的方式实现。

    • 文本到列的功能
    • Excel 2013及更高版本中的闪光填充选项
    • Excel 365中的TEXTSPLIT函数
    • 自定义公式分割单元格(MID、RIGHT、LEFT等)。

    你也可以在这篇文章中找到有用的信息:如何在Excel中取消合并单元格。

    在Excel中使用合并单元格插件进行连接

    使用Ultimate Suite for Excel中包含的合并单元格插件,你可以有效地做到这两点。

    • 合并 在不丢失数据的情况下,将几个单元格合并为一个。
    • 串联 将几个单元格的值合并到一个单元格中,并用你选择的任何分隔符将它们分开。

    合并单元格工具适用于从2016年到365年的所有Excel版本,可以合并所有数据类型,包括文本字符串、数字、日期和特殊符号。 它的两个关键优势是简单和快速--任何串联只需点击几下就能完成。

    将几个单元格的值合并为一个单元格

    要合并几个单元格的内容,你要选择要连接的单元格范围并配置以下设置。

    • 隶属 合并什么 , 选择 细胞变成一个 .
    • 隶属 结合 ,键入 分隔符 (在我们的例子中是一个逗号和一个空格)。
    • 选择你想放置结果的地方。
    • 最重要的是,取消对 合并选择中的所有区域 正是这个选项控制了单元格是否被合并或其值是否被串联。

    逐行合并列

    要连接两个或更多的列,你以类似的方式配置合并单元格的设置,但要选择合并 列成一个 并将结果放在左栏中。

    逐列加入行

    要将每个单独的行中的数据逐列合并,你可以选择。

    • 合并 行成一个 .
    • 使用一个 换行符 为分隔符。
    • 将结果放入 顶行 .

    其结果可能与此类似。

    为了检查合并单元格插件如何处理你的数据集,欢迎你下载我们下面的Excel终极套件的全功能试用版。

    这就是在Excel中串联的方法。 感谢你的阅读,希望下周能在我们的博客上见到你

    可用的下载

    连接公式的例子(.xlsx文件)。

    终极套装14天试用版(.exe文件)。

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.