Table of contents
在Microsoft Excel中,有几种合适的方法可以将多列合并成一列。 在这篇文章中,你将通过实例和适当的说明,了解如何应用不同的方法将多列的数据合并成一列。
下载实践工作手册
你可以下载我们用来准备这篇文章的Excel工作簿。
将多列合并为一列.xlsx在Excel中把多列合并成一列的6种方法
1.使用CONCATENATE或CONCAT函数来连接Excel中的多个列
在下图中,三列代表了一些有分割部分的随机地址。 我们必须合并每一行,使之成为一个有意义的地址,在 E栏 根据 合并文本 头部。
我们可以用 CONCATENATE或CONCAT 在第一个输出中 细胞E5 ,所需的公式将是。
=concatenate(b5,c5,d5)
或者。
=concat(b5,c5,d5)
在按下 进入 并使用 填充手柄 中的其余单元格进行自动填充。 E栏 ,我们将得到如下图所示的合并单列。
相关内容。 在Excel中把两个或多个单元格的文本合并成一个单元格(5种方法)
2.使用Ampersand(&)将多栏合并为单栏
我们还可以使用 安培数(&) 假设我们在单元格中的文本没有任何分隔符,但在连接一行的文本时,我们必须插入一个分隔符。
在输出中 细胞E5 ,所需公式的用途是 安培数(&) 将是。
=B5&", "&C5&", "&D5
新闻 进入 ,自动填写整个 E栏 你就会马上得到所有合并的文本到一个单列。
3.在Excel中插入TEXTJOIN函数,将多列合并为一列
如果你在使用 Excel 2019年 或 Excel 365 那么 文本编辑器(TEXTJOIN 功能是另一个很好的选择,可以满足你的目的。
连接多个文本的必要公式为 文本编辑器(TEXTJOIN 功能在 细胞E5 将是。
=textjoin(", ",true,b5,c5,d5)
在按下 进入 中的最后一个单元格,并向下拖动到 E栏 ,你会在一列中一次性得到串联的文本。
4.在Excel中把多列叠成一列
现在我们的数据集有4个随机列,范围从 B栏 至 E栏 在此情况下 合并专栏 标头,我们将把来自 第四届、第五届和第六届 一句话,我们要把所有的数据都堆在一列。
📌 步骤1。
➤ 选择单元格的范围 (B4:E6) 包含主要数据。
➤ 用一个文本来命名它,在 名称框 .
📌 第2步。
➤ 在输出方面 细胞G5 ,输入以下公式。
=INDEX(Data,1+INT((ROW(A1)-1)/COLUMNS(Data)),MOD(ROW(A1)-1+COLUMNS(Data), COLUMNS(Data))+1)
📌 第3步。
➤ 按 进入 你会得到第4行的第一个值,在 细胞G5 .
➤ 现在使用 填充手柄 沿着柱子向下拖动,直到你找到一个 #REF 错误。
最后,你会看到下面的输出。
🔎 这个公式是如何工作的?
- COLUMNS(数据)。 ǞǞǞ 栏目 的函数。 MOD 函数在此返回指定范围内可用的列的总数。 (数据) .
- ROW(A1)-1+COLUMNS(Data)。 的组合。 ROW 和 栏目 这里的函数定义了红利的 MOD 功能。
- MOD(ROW(A1)-1+COLUMNS(Data), COLUMNS(Data))+1。 这一部分定义了 索引 函数,对于输出,该函数返回 '1' .
- 1+INT((ROW(A1)-1)/COLUMNS(Data))。 的行号。 索引 函数是由这部分指定的,其中 INT 函数将结果值舍入为整数形式。
5.使用记事本合并Excel中的列数据
我们也可以用一个 记事本 让我们通过以下步骤。
📌 步骤1。
➤ 选择单元格的范围 (B5:D9) 包含主要数据。
➤ 按 CTRL+C 来复制选定的单元格范围。
📌 第2步。
➤ 打开一个记事本文件。
➤ 粘贴 CTRL+V 将选定的数据粘贴在这里。
📌 第3步。
➤ 按 CTRL+H 以打开 替换 对话框。
➤ 在记事本文件中选择两个文本之间的一个标签,并复制它。
➤ 将其粘贴到 发现什么 箱子。
📌 第4步。
➤ 类型 ", " 在 替换为 箱子。
➤ 按下选项 全部替换 然后你就完成了。
你的记事本文件中的所有数据将看起来像下面的图片。
📌 第5步。
➤ 现在从记事本中复制整个文本。
📌 第6步。
最后,将其粘贴到输出端 细胞E5 在你的 ǞǞǞ 电子表格。
形成的数据在 E栏 现在的情况是这样的。
6.使用VBA脚本将Excel中的列连接成一列
我们还可以使用 VBA 在下面的图片中,我们可以看到,多列堆叠成一列的方法。 专栏G 将显示叠加的数据。
📌 步骤1。
➤ 右键单击工作簿中的工作表名称,然后按 查看代码 .
一个新的模块窗口将出现,你必须简单地粘贴以下代码。
Option Explicit Sub StackColumns() Dim Rng1 As Range Dim Rng2 As Range Dim Rng As Range Dim RowIndex As Integer Set Rng1 = Application.Selection Set Rng1 = Application.InputBox("Select Range:", "Stack Data into One Column", Rng1.Address, Type:=8) Set Rng2 = Application.InputBox("Destination Column:", "Stack Data into One Column", Type:=8) RowIndex = 0 Application.ScreenUpdating = False For EachRng In Rng1.Rows Rng.Copy Rng2.Offset(RowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True RowIndex = RowIndex + Rng.Columns.Count Next Application.CutCopyMode = False Application.ScreenUpdating = True End Sub
📌 第2步。
➤ 粘贴完代码后,按 F5 来运行该代码。
➤ 指定一个宏的名称,在 宏观 对话框。
➤ 按 运转 .
📌 第3步。
➤ 选择数据的主要范围 (B4:E6) 在 选择范围 箱子。
➤ 按 认可 .
📌 第4步。
➤ 选择输出 细胞G5 在启用了 目的地专栏 箱子。
➤ 按 认可 然后你就完成了。
就像下图一样,你会在输出栏中看到合并和堆积的数据。
结论性的话语
我希望上面提到的这些简单方法现在能帮助你在必要时在Excel表格中应用它们。 如果你有任何问题或反馈,请在评论区告诉我。 或者你可以在本网站上查看我们与Excel函数有关的其他文章。