在 Excel 中,合并多个行、列或单元格是一项常见任务。但是,标准合并过程仅保留左上方单元格中的数据。在本 Excel 教程中,我们将演示如何使用 Excel 函数、复制粘贴命令、& 运算符、记事本和 VBA 代码来合并行而不丢失数据。

考虑以下数据集,其中第 6 行到第 12 行中包含客户名称。我们将合并这些行并将所有客户名称收集到一行中。

以下是在 Excel 中合并行而不丢失数据的 5 种方法:

使用 Excel 函数尽管使用 TEXTJOIN、CONCAT 或 CONCATENATE 等 Excel 函数是一种间接方法,但它确实可以确保合并行数据而不会丢失任何有价值的信息。

方法 1 – 使用 TEXTJOIN 函数

TEXTJOIN 函数连接 Excel 中多个单元格、区域或列中的文本。它设计用于处理范围,无需手动输入单元格。 TEXTJOIN 函数还可以处理空白单元格并在合并多行数据时添加分隔符。该功能从 Excel 2016 开始可用。

步骤:

选择一个空白单元格。输入以下公式:

=TEXTJOIN(", ",TRUE,B6:B12)

为了将所有值保留在一个单元格中,我们将应用文本换行:

选择输出单元格。转到主页选项卡> 对齐组>自动换行

在输出中,逗号 (,) 和空格充当合并行值之间的分隔符。

方法 2 – 使用 CONCAT 函数CONCAT 函数还将多个单元格中的文本合并到单个单元格中。 CONCAT 函数的缺点是它不能很好地处理空单元格和错误。此外,您需要手动输入行。

步骤:

选择一个空白单元格。

输入以下公式:

=CONCAT(B6,", ",B7,", ",B8,", ",B9,", ",B10,", ",B11,", ",B12)转到首页选项卡 > 对齐组 > 自动换行。

建议在公式中使用数据分隔符(逗号和空格),否则输出可能会变得难以理解。

=CONCATENATE(B6,", ",B7,", ",B8,", ",B9,", ",B10,", ",B11,", ",B12)

建议使用 CONCAT 函数,因为它简单且兼容所有 Excel 版本。

使用CONCAT函数时,单独指定每个单元格。

使用复制和粘贴命令步骤:

选择要合并的数据。转到主页选项卡> 剪贴板组> 复制(或按CTRL+C)

双击选择输出单元格。单击主页选项卡中的剪贴板图标,这将打开左侧的剪贴板面板。

选择全部粘贴选项

这将返回以下最终输出:

使用 & 运算符& 符号 (&) 运算符对于在 Excel 中组合文本、数字或单元格引用非常有用,并且可用于创建动态公式。

步骤:

选择一个空白单元格。输入以下公式:

=B4&", "&B5&", "&B6&", "&B7&", "&B8&", "&B9&", "&B10按输入。最终输出如下图所示:

使用记事本我们还可以使用记事本应用程序将多行合并为一行。尽管这不是传统方法,但此方法对于大型数据集很有帮助,因为记事本消除了 Excel 中存在的任何格式设置复杂性。

步骤:

从所有行中选择数据并按 CTRL+C

将数据粘贴到空的记事本文件中

根据需要自定义数据,例如将所有名称放在一行中,或在两个名称之间插入逗号。双击将数据复制并粘贴回 Excel 文件中的空行

应用VBA代码对于大型数据集,使用 VBA 代码合并行同时保留现有数据非常有帮助。

步骤:

转到开发人员选项卡> Visual Basic (或按ATL+F11)

这将打开Microsoft Visual Basic 应用程序窗口。

转到插入选项卡> 模块。

将以下代码复制并粘贴到模块中:Sub vba_merge_with_values()

Dim val As String

Dim rng As Range

Set rng = Selection

For Each Cell In rng

val = val & " " & Cell.Value

Next Cell

With rng

.Merge

.Value = Trim(val)

.WrapText = True

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlCenter

End With

End Sub单击保存(或按键盘上的CTRL+S)保存文件。

选择要合并的行。转到开发人员选项卡> 代码组> 宏。

从宏对话框中,选择代码并按运行。

将会弹出一条警告消息。

单击确定继续。

使用代码后返回以下输出:

常见问题解答Excel中如何将多行转换为一列?请按照下列步骤操作:

选择行。按 CTRL+C 复制选定的行。选择输出单元格。右键单击它并选择选择性粘贴。在选择性粘贴对话框中,选择转置,然后单击确定。这会将数据从多行转换为一列。

合并过程中如何处理空白单元格?使用 TEXTJOIN 函数,该函数提供包含或忽略范围中的空白或空单元格的选项。

如何合并具有不同数据类型的行而不丢失信息?使用 CONCAT、CONCATENATE 和 TEXTJOIN 等 Excel 函数,这些函数允许组合来自不同单元格的数据,同时保留不同数据类型的完整性。

进一步阅读在 Excel 中将多行转换为单列如何在 Excel 中将多行转换为单行Excel合并具有相同ID的行如何在 Excel 中合并两行如何在 Excel 中使用逗号合并行如何在 Excel 中合并具有相同值的行