ad

按分隔符将文本字符串拆分为多行 - 3 个快捷技能-英雄云拓展知识分享

匿名投稿 556 2024-02-10

按分隔符将文本字符串拆分为多行 - 3 个快捷技能

通常,您可使用分栏功能将单元格内容按特定分隔符(例如逗号、点、分号、斜杠等)拆分为多列。但有时,您可能需要将分隔的单元格内容拆分为多行并重复其他列中的数据,以下图所示。 您有什幺好的方法可以在 Excel 中处理此任务吗,我们将继续深入。 本教程将介绍一些在 Excel 中完成这项工作的行之有效的方法。

方法 A:经过 VBA 代码拆分文本字符串
  • 以逗号、空格、分号等分隔的文本。
  • 由换行符分隔的文本

方法 B:TOOLS 用 10 秒拆分文本字符串
方法 C:分割文字字串 Power Query

视频:按分隔符将文本字符串拆分为多行


方法 A:经过 VBA 代码将分隔文本拆分为多行

在本节中,我将介绍两个 VBA 代码来帮助拆分由特定分隔符分隔的单元格内容。

拆分文本以逗号、空格、分号等分隔。

按分隔符将文本字符串拆分为多行 - 3 个快捷技能-英雄云拓展知识分享

要拆分由一些普通分隔符分隔的文本字符串,例如逗号、空格、分号、斜杠等,以下代码可以帮你一个忙。 请依照以下步骤操作:

 备注: 这个代码  支持 复原,你最好在利用此代码之前备份数据。

第 1 步:打开 VBA 模块编辑器并复制代码

1. 激活您要使用的工作表。 然后,按 Alt + F11键 键打开 Microsoft Visual Basic for Applications 窗口。

2. 在打开的窗口中,点击 插入 > 模块 创建一个新的空白模块。

3. 然后,将以下代码复制并粘贴到空白模块中。

VBA 代码:按特定分隔符(逗号、点、空格等)拆分文本

Sub SplitTextIntoRows()

'

Dim xSRg, xIptRg, xCrRg, xRg As Range

Dim xSplitChar As String

Dim xArr As Variant

Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer

Dim xWSh As Worksheet

Set xSRg = Application.InputBox("Select a range:", "TOOLS", , , , , , 8)

If xSRg Is Nothing Then Exit Sub

xSplitChar = Application.InputBox("Type delimiter:", "TOOLS", , , , , , 2)

If xSplitChar = "" Then Exit Sub

Application.ScreenUpdating = False

xRow = xSRg.Row

xColumn = xSRg.Column

Set xWSh = xSRg.Worksheet

For xFNum = xSRg.Rows.Count To 1 Step ⑴

Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)

xArr = Split(xRg, xSplitChar)

xIndex = UBound(xArr)

For xFFNum = LBound(xArr) To UBound(xArr)

xRg.EntireRow.Copy

xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown

xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)

xIndex = xIndex - 1

Next

xRg.EntireRow.Delete

Next

Application.CutCopyMode = False

Application.ScreenUpdating = True

End Sub

第2步:履行代码得到结果

1. 粘贴代码后,请按 F5 键来运行这段代码。 然后,会弹出一个提示框,提示您选择包括要拆分的分隔文本的单元格,请参见屏幕截图:

2.然后,单击 OK,会弹出另外一个提示框,提示您输入拆分数据所根据的分隔符。 在这里,我输入一个逗号和一个空格 (, ),请

3.最后,单击 OK 按钮。 现在,您将看到所选文本字符串针对逗号拆分为行,其他相干列数据重复以下图所示:


拆分文本以换行符分隔

如果您的单元格内容由换行符分隔,将它们分成多行,这是另外一个可以帮助您的 VBA 代码。

 备注: 这个代码 支持 复原 您最好在利用此代码之前备份数据。

第 1 步:打开 VBA 模块编辑器并复制代码

1。 按 Alt + F11键 键打开 Microsoft Visual Basic for Applications 窗口。

2. 在打开的窗口中,点击 插入 > 模块 创建一个新的空白模块。

3. 然后,将以下代码复制并粘贴到空白模块中。

VBA代码:按换行符拆分文本

Sub SplitTextIntoRows()

'

Dim xSRg, xIptRg, xCrRg, xRg As Range

Dim xSplitChar As String

Dim xArr As Variant

Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer

Dim xWSh As Worksheet

Set xSRg = Application.InputBox("Select a range:", "TOOLS", , , , , , 8)

If xSRg Is Nothing Then Exit Sub

xSplitChar = Chr(10)

Application.ScreenUpdating = False

xRow = xSRg.Row

xColumn = xSRg.Column

Set xWSh = xSRg.Worksheet

For xFNum = xSRg.Rows.Count To 1 Step ⑴

Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)

xArr = Split(xRg, xSplitChar)

xIndex = UBound(xArr)

For xFFNum = LBound(xArr) To UBound(xArr)

xRg.EntireRow.Copy

xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown

xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)

xIndex = xIndex - 1

Next

xRg.EntireRow.Delete

Next

Application.CutCopyMode = False

Application.ScreenUpdating = True

End Sub

第2步:履行代码得到结果

1. 粘贴代码后,请按 F5 键来运行这段代码。 在弹出的框中,选择要拆分的单元格,见截图:

2.然后,单击 OK 按钮,所选单元格中的数据被分成几行,以下图所示:


方法 B:10s 经过 TOOLS 将分隔文本拆分为多行

如果你已安装 Excel的工具,其 将数据拆分为行 功能,您可以按指定的任何分隔符将文本字符串拆分为多行。 请依照以下步骤进行:

第 1 步:选择“将数据拆分为行”功能

点击 库工具 > 合併与拆分 > 将数据拆分为行,请参见屏幕截图:

第 2 步:指定拆分的数据单元格和分隔符

在弹出的对话框中,使用以下选项:

  • 1). 选择要从中拆分的单元格列表 范围(单列) 文本框;
  • 2). 然后,选择分隔数据的分隔符,在这里,我会选择 其他 并在文本框中键入逗号和空格 (, );
  • 3). 最后,点击 OK 按钮。

现在,带有分隔文本字符串的选订单元格已针对特定分隔符转换为多行,请参见屏幕截图:

 保养诀窍:如果要恢复原始数据,只需按 按Ctrl + Z 用于撤销。

便于使用? 对此功能感兴趣,请 点击下载便可免费试用 30 天.


方法 C:将分隔文字拆分为多行 Power Query

如果您运行的是 Office 365 或 Excel 2016 及更高版本, Power Query 是一个强盛的工具,可以帮助您将分隔的文本拆分为多行或多列。 如果您希望在原始数据更改时刷新拆分数据,这将很有用。 请依照以下步骤完成它:

第一步:将资料表放入 Power Query

1. 选择您要使用的数据范围,然后单击 数据 > 从表格,请参见屏幕截图:

 保养诀窍:在 Excel 2019 和 Office 365 中,单击 数据 > 从表/范围.

2.在弹出的 创建表格 对话框,单击 OK 按钮创建一个表,

3。 现在 Power Query 编辑页 窗口显示数据,见截图:

步骤 2:进行转换 Power Query

1. 选择要拆分的列。 然后,单击 首页 > 拆分列 > 按分隔符,请参见屏幕截图:

2。 在里面 按分隔符拆分列 对话框:

要用逗号、空格、分号等分割文本字符串,请按以下操作:

  • 1). 选择您的数据与 选择或输入分隔符 下拉列表;
  • 2)。 选择 每次出现的分隔符 来自 分裂于 部份;
  • 3). 然后,点击 高级选项 展开该部份,然后选择 拆分成;
  • 4). 最后,点击 OK 关闭此对话框。

要经过链接中断将文本字符串拆分为多行,请依照以下步骤操作:

  • 1)。 选择 风俗 来自 选择或输入分隔符 下拉列表;
  • 2). 来自 插入特殊字符 下拉,点击 换行, 和字符 #(如果) 将被插入到下面的文本框中 风俗 自动
  • 3)。 选择 每次出现的分隔符 来自 Split at 部份;
  • 4). 然后,点击 高级选项 展开该部份,然后选择 拆分成;
  • 5). 最后,点击 OK 关闭此对话框。

3. 现在,所选数据已拆分为多行,以下图所示:

第3步:输出 Power Query 到 Excel 表格

1. 然后,您应当将数据输出到您的工作表中。 请点击 首页 > 关闭并加载 > 关闭并加载 / 关闭并加载到,(在这里,我将点击 关闭并加载),请参见屏幕截图:

 保养诀窍:点击 关闭并加载 将数据输出到新的工作表; 点击 关闭并加载到 选项,数据将输出到您需要的任何其他工作表。

2.最后,数据将被加载到一个新的工作表中,见截图:

 保养诀窍:如果您需要常常更新原表中的数据,请不要担心,只需右键单击结果表并单击 刷新 动态获得新结果。


相干文章:

  • 将单元格值拆分为多列
  • 在 Excel 中,当您想经过某些分隔符(例如逗号、空格、句点、换行符等)将单元格值列表拆分为多列时,通常,内置的文本分列功能可以帮助您完成此工作步骤按部就班。 这篇文章,我将讨论一些好技能,让您轻松快捷地将单元格值拆分为多列或多行。

  • 将单元格拆分为多行或多列
  • 假定您有一个单元格,其中包括由特定字符(举例来看,分号)分隔的多个内容,然后您要针对分号将此长单元格拆分为多行或多列,在这类情况下,您是不是有任何快捷方法在Excel中解决它?

  • 按大小写拆分文本字符串
  • 在Excel中,我们通常使用“文本到列”功能按固定宽度或定界符拆分文本,但是您是不是尝试过按大写和小写拆分文本? 举例来看,您有一个数据列表,您需要针对大小写将它们分为两列:一列包括小写字母的字符串,另外一列包括大写字母的字符串,以下面的屏幕截图所示。 “文本到列”功能不支持此操作,但是,我可以介绍一些技能,以便在Excel中按大小写快捷拆分文本字符串。

  • 将数字拆分为单个数字
  • 假定您需要将数字分解或分解为单个数字,以下面的屏幕截图所示,您可以怎幺做? 本文将为您提供两类方法。

上一篇:如何保护/锁定Excel工作表中除某些单元格之外的所有单元格?-英雄云拓展知识分享
下一篇:如何查找以在Excel中返回活动的超链接?-英雄云拓展知识分享
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×