Table of contents
有时,在工作中 微软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知道我想把水果放在所有行的第一个位置。
- 只需按下 进入 现在你可以应用这个类似的方法,将其他逗号分隔的数值分割成多列。
总结
在上面的文章中,我试图详细讨论几种将逗号分隔的值分割成行或列的方法。 希望这些方法和解释足以解决你的问题。 如果你有任何疑问,请让我知道。