如何在Excel中把逗号分隔的数值分割成行或列

  • Share This
Hugh West

有时,在工作中 微软Excel 当我们从其他应用程序中导入数据时,所有的数据可能被放在一个单一的列中,用逗号隔开。 此外,我们可能需要根据要求提取数据的某一部分。 本文将指导你将逗号分隔的值分割成多个使用几个功能和特点的列/行。

下载实践工作手册

你可以下载我们用来准备这篇文章的实践工作手册。

将逗号分隔的值分割成行或列.xlsm

在Excel中把逗号分隔的数值分割成行或列的5种方法

1.使用Excel中的 "文本到列 "功能,用逗号将数据分隔成行/列

1.1. 将数值分割成列

首先,我将使用 文本到列 这是最简单的方法,可以将数据分割成多列。 将数据分成几列 假设,我们有一个数据集,其中有几个水果位于一列,用逗号隔开。 其中有 3 现在,我将把每一列的水果分割成两部分。 B 进入 3 不同的列(列 C , D &。 E ).

按照下面的步骤来完成这项任务。

步骤。

  • 首先,选择整个数据集,然后转到 数据 > 数据工具 > 文本到列 .

  • 因此, 文本转列向导 出现。 现在,从 原始数据类型 部分,选择 划线 并点击 下一页 .

  • 然后从 分隔符 部分,将一个复选标记放在 逗号 并按 下一页 .

  • 之后,选择 目的地 地点(这里。 细胞C5 )并按下 完成 .

  • 最后,在关闭 文本转列向导 我们将得到以下结果。 所有由逗号分隔的数据都被分成了几列 C , D ,以及 E .

阅读更多:如何将一个Excel单元格中的数据分割成多个列(5种方法)。

1.2. 使用 "文本到列 "分割成行

现在,我将把由逗号分隔的数值分成 多行 假设我有一个包含一些水果名称的数据集,在将这些值放入多行之前,我将用以下方法把它们分成几列 文本到列 功能。

步骤。

  • 首先选择 细胞B5 ,请到 数据 > 文本到列 .
  • 然后从 文本转列向导 选择 原始数据类型 : 划线 并点击 下一页 .
  • 现在选择 分隔符 类型。 逗号 并点击 下一页 .
  • 之后,选择 目的地 细胞(这里 细胞C5 )并按下 完成 .
  • 结果,你将得到以下输出。 现在,我将把得到的数据放在多行中。 要做到这一点,请复制范围 C5:G5 .

  • 随后右键点击 细胞B7 ,并选择 转位 粘贴选项 (见截图)。

  • 最后,我们将得到我们正在寻找的结果,所有逗号分隔的值都被分割成了行 7 11 .

阅读更多:如何在Excel中分割数据(5种方法)

2.Excel Power Query将逗号分隔的数值分割成列或行

2.1.Power Query将数值分割成列

这一次,我将使用EXCEL 权力查询 按照下面的指示来执行这个任务。

步骤。

  • 首先,将光标放在现有数据集中的任何一个单元格中。 然后进入 数据 > 从表/范围 ( 获取和转换数据 组)。

  • 因此,Excel会要求你将数据范围转换为表格。 检查数据范围,然后按 认可 来创建该表。

  • 因此, 强大的查询编辑器 窗口出现了下面的表格。 现在,从 强大的查询编辑器 窗口转到 首页 > 分割柱 > 作者:Delimiter .

  • 在这之后, 按分隔符拆分列 对话框出现了,选择 逗号 选择或输入分隔符 并按 认可 (见截图)。

  • 因此,excel将表格分割为 3 现在,要关闭 强大的查询编辑器 ,请到 首页 > 关闭 & 载入 > 关闭 & 载入 .

  • 最后,这是我们收到的最终结果。 所有逗号分隔的数据被分割成 3 表的列。

阅读更多:如何在Excel中把数据分割成多列

2.2. 将数据分割成行

在这里,我将用逗号分隔的数值分割成多行,使用 Excel Power Query .

步骤。

  • 我们有一些以逗号分隔的水果,在 细胞B5 &。 C5 申请 权力查询 到这些值,点击 细胞B5 C5 ,并转到 数据 > 从表/范围 .

  • 接下来是 创建表格 对话框将显示出来,检查表格范围,然后按 认可 因此,下面的表格将被创建在 强大的查询编辑器 窗口。
  • 然后选择该表,转到 首页 > 分割柱 > 作者:Delimiter .

  • 现在 按分隔符拆分列 出现对话。 从 选择或输入分隔符 节选择 逗号 ,请到 高级选项 ,然后点击 行数 从现场来看。 分为 当你完成后,按 认可 .

  • 在按下 认可 ,我们将得到以下输出。 转到 首页 > 关闭 & 载入 > 关闭 & 载入 在Excel工作表上显示结果。

  • 最终,以下是我们得到的最终结果。 所有逗号分隔的值都被分成了几行 2 7 .

3.结合LEFT, RIGHT, MID, FIND & LEN函数,将逗号分隔的值分割成列

我们可以使用excel函数将由逗号分隔的数据分割成多列。 基本上,我们可以使用基于分隔符(逗号、空格、分号)的excel函数组合来提取不同列中的部分数据。 在这个方法中,我将提取来自 3 位于列的连续文本字符串中的位置 B 并把它们放在多列中。

3.1. 找到第一个词

最初,我将使用以下方法从连续文本字符串中提取第一个词 左边 识别 职能。

步骤。

  • 在下面的公式中键入 细胞C5 并按 进入 从键盘上。
=left(b5,find(",", b5)-1)

  • 在输入公式后,Excel将返回'. 日期 ',这是《圣经》的第一个词 细胞B5 .

在这里, 识别 函数返回 第一届 逗号,然后 左边 函数提取第一个逗号之前的第一个词。

3.2. 提取第二个字

现在,我将使用以下组合 医学部 识别 函数来提取第二个字,从 细胞B5 .

步骤。

  • 在下面的公式中键入 细胞D5 并击中 进入 .
=MID(B5,FIND(",",B5)+1,FIND(",",B5,FIND(",",B5)+1)-FIND(",",B5)-1)

  • 因此,上述公式的结果是 葡萄 ǞǞǞ 第2次 词的 细胞B5 .

在这里, 医学部 函数返回从文本字符串的中间开始的字符,即 细胞B5 ...和 识别 函数返回 第2次 串串在 细胞B5 .

3.3.找到第三个词

假设,我将提取 第三届 话从 细胞B5 基于逗号的位置。 在提取 第三届 字,我将用 权力 , LEN ,以及 识别 职能。

步骤。

  • 在下面的公式中键入 细胞D5 然后按 进入 .
=right(b5, len(b5)-find(",", b5,find(",",b5)+1))

  • 一旦你击中 进入 , excel将返回 西瓜 这就是 第三届 我们的连续数据中的字 细胞B5 .

在这里, LEN 函数返回 细胞B5 那么......。 识别 函数返回逗号的位置在 细胞B5 .后来,根据 识别 LEN 职能 权力 函数中提取出最右边的单词 细胞B5 .

  • 因为我已经收到了所有 第一届 , 第2次 ,以及 第三届 要做到这一点,请选择范围 C5:D5 并使用 填充手柄 ( + )工具。

  • 最终,这里是我们将收到的最终结果。

4.Excel VBA将逗号分隔的数值分割成列或行

4.1. 用VBA将数值分成几列

你可以用一个简单的方法将由逗号分隔的数据分割成多列 VBA 代码。

步骤。

  • 首先,进入你想分割数据的工作表。 接下来,在工作表名称上点击右键,然后点击 查看代码 来调出 VBA 窗口。

  • 然后在下面的代码中输入 模块 运行 的代码,通过使用 F5 钥匙。
 Sub SplitData() Dim Range() As String, Count As Long, x As Variant For r = 5 To 10 Range = Split(Cells(r, 2), ",") Count = 3 For Each x In Range Cells(r, Count) = x Count = Count + 1 Next x Next r End Sub 

在这里 ' r '表示包含数据的行。 另一方面,' 数值=3 '表示列 C ,这是显示分割数据的第一列。

  • 一旦你运行这段代码,在列中由逗号分隔的数据 B 被分成几列 C , D ,以及 E 如下所示。

4.2. 将数值分成行

现在我将使用excel VBA将逗号分隔的值分割成不同的行。 按照以下步骤执行任务。

步骤。

  • 首先,进入你有数据的工作表,右键点击 查看代码 .

  • 因此, VBA 窗口出现。 在下面的代码中写上 模块 并按 F5 在键盘上。
 Sub SplitRows() Dim rng As Range Dim rng1 As Range Dim cell As Range Dim N As Long Dim address As String Dim update As Boolean Dim ret As Variant On Error Resume Next address = Application.ActiveWindow.RangeSelection.address Set rng = Application.InputBox("请输入一个范围", "Input Box", address, , , , 8) Set rng = Application.Intersect(rng, rng.Worksheet.UsedRange) If rng Is Nothing ThenExit Sub If rng.Columns.Count> 1 Then MsgBox "Cannot select more than one column" Exit Sub End If Set rng1 = Application.InputBox("Destination Cell", "Input Box", , , , 8) Set rng1 = rng1.Range("A1") If rng1 Is Nothing Then Exit Sub update = Application.ScreenUpdating Application.ScreenUpdating = False For Each cell In rng ret = Split(cell.Value, " , " ) rng1.Worksheet.Range(rng1.Offset(N。0), rng1.Offset(N + UBound(ret, 1), 0)) = Application.WorksheetFunction.Transpose(ret) N = N + UBound(ret, 1) + 1 Next Application.ScreenUpdating = update End Sub 

  • 现在当你运行代码时,会出现下面的输入框,输入下面的数据范围,然后按 认可 .

  • 因此,会出现另一个输入框。 在这里插入目标单元格,然后按 认可 .

  • 最后,我们将得到以下输出。 我们的数据集的所有逗号分隔的值都被分成了行 8 13 .

5.使用Excel闪存填充将逗号分隔的值分割成不同的列

我们可以在不同的列中输入一部分逗号分隔的数据,然后应用 闪光填充 功能来获得相同模式的其余数据。

步骤。

  • 种类 ' 日期 '在 细胞C5 .后来,当你开始输入''的时候 R '在 细胞C6 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.