在Excel中把多列合并为一列

  • Share This
Hugh West

在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函数有关的其他文章。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.