跳至主要内容

Kutools for Office — 一套工具,五种功能。事半功倍。

如何在 Excel 中按大写字母将文本拆分为单独的列?

Author Xiaoyang Last modified

在 Excel 中处理数据时,您可能会偶尔遇到包含多个连在一起单词的单元格,每个单词都以大写字母开头,例如 "FirstNameLastName" 或 "SalesMarchApril"。为了进行数据清洗或分析,您可能需要在每个大写字母处将内容拆分为单独的列,如下方截图所示。然而,Excel 并未提供基于大写字母拆分的直接内置功能。有哪些实用的方法可以帮助您快速且准确地根据大写字母将单词拆分为单独的列呢?

以下是针对该问题的三种有效解决方案,每种方案都有其适用场景和优势:


使用公式按大写字母将文本拆分为单独的列

如果您的数据由仅包含两个通过大写字母连接的单词的单元格值组成,Excel 公式可以帮助将内容拆分为单独的列。此解决方案简单明了,不需要任何代码或插件,适用于较小的数据集或不太复杂的拆分需求。

1. 在与您的数据相邻的空白单元格中(例如,单元格 C2),输入以下数组公式以从单元格 A2 中提取第一个单词(其中 A2 包含要拆分的文本):

=LEFT(A2,SMALL(FIND(CHAR(ROW(INDIRECT("65:90"))),A2&"ABCDEFGHIJKLMNOPQRSTUVWXYZ"),2)-1)

输入公式后,请务必同时按下 Ctrl + Shift + Enter。某些 Excel 版本中,这是数组公式所必需的操作。如果操作正确,公式栏中的公式将出现大括号 {}。该公式通过查找单元格中的第二个大写字母,然后提取该位置之前的所有字符,从而得出第一个单词。

use a fromula to to get the first word

2. 要将公式应用到其他条目,请选择单元格 C2,然后向下拖动填充柄以将公式填充到列中的其他单元格。每一行对应的第一个单词将自动提取出来。

drag and fill the formula to other cells

3. 接下来,在右侧的单元格中(例如 D2),输入以下公式以提取剩余的文本(即第二个单词):

=REPLACE(A2,1,LEN(C2),"")

此公式删除了上一步提取的第一个单词,只留下第二个单词。只需按 Enter 确认即可。

use a fromula to to get the second word

4. 同样,选择单元格 D2 并使用填充柄将此公式向下拖动到其他行。您原始范围内的每个单元格的文本现在将被拆分为两列,以大写字母的位置分隔。

drag the formula to other cells

a screenshot of kutools for excel ai

使用 Kutools AI 解锁 Excel 魔法

  • 智能执行:执行单元格操作、分析数据和创建图表——所有这些都由简单命令驱动。
  • 自定义公式:生成量身定制的公式,优化您的工作流程。
  • VBA 编码:轻松编写和实现 VBA 代码。
  • 公式解释:轻松理解复杂公式。
  • 文本翻译:打破电子表格中的语言障碍。
通过人工智能驱动的工具增强您的 Excel 能力。立即下载,体验前所未有的高效!

使用 VBA 代码按大写字母将文本拆分为单独的列

上述基于公式的解决方案非常适合只需要拆分两个单词的情况,但无法处理包含两个以上连接单词的单元格(例如 'FirstNameMiddleNameLastName')。在这种情况下,您可以使用 VBA 代码自动在每个大写字母前插入一个空格,从而分割单词。添加这些空格后,您可以使用 Excel 的内置“文本分列”功能将文本拆分为单独的列。

首先,应用 VBA 代码在大写字母前添加空格以分隔单词。

1. 按 ALT + F11 打开 Microsoft Visual Basic for Applications 编辑器窗口。

2. 在 VBA 编辑器中,点击 插入 > 模块,并将以下代码粘贴到新模块窗口中。

VBA 代码:在单元格中的每个大写字母前插入空格

Function SplitWords(ByVal Str As String) As String
'updateby Extendoffice 20151128
    Dim I As Integer
    SplitWords = Left(Str, 1)
    For I = 2 To Len(Trim(Str))
        If (Asc(Mid(Str, I, 1)) > 64) And _
           (Asc(Mid(Str, I, 1)) < 91) And _
           (Mid(Str, I - 1, 1) <> " ") Then _
            SplitWords = SplitWords & " "
        SplitWords = SplitWords & Mid(Str, I, 1)
    Next
End Function

输入或粘贴代码后,关闭 VBA 编辑器以返回工作表。此代码定义了一个名为 splitwords 的新函数,您可以像使用常规工作表公式一样使用它。请注意,使用此功能可能需要启用宏,并且应将工作簿保存为 .xlsm 文件以保留 VBA 代码。

3. 在与您的数据相邻的空白单元格中,输入以下公式以在单元格 A2 的每个大写字母前插入空格:

=splitwords(A2)

此公式调用用户定义的函数来处理每个单元格。按下 Enter 后,您应该会看到在每个大写字母前插入了空格的文本,从而使各个单词清晰可辨。

enter a user defined function to add spaces before the capital letter

4. 使用填充柄将此公式复制到所有相关单元格,以便逐行处理。

 the spaces have been inserted before each capital letter

5. 此时,单元格中包含公式。您可能希望将值复制并粘贴到其他地方,以仅保留已处理的文本,而无需公式链接。为此,请选择已处理的单元格,复制它们,然后右键单击并选择“选择性粘贴” > “值”到所需位置。

copy and paste theses formula cells as values

其次,应用“文本分列”功能按空格将单元格内容拆分为单独的列。

6. 现在,选择包含空格的单元格值(来自上一步的结果)。在功能区中,转到 数据 > 文本分列。当“文本分列向导”出现时(步骤 1),选择“分隔符”单选按钮。

click Data > Text to Columns, and choose Delimited option

7. 单击 下一步,在步骤 2 中选择“分隔符”下的 空格 选项。这将告诉 Excel 使用空格作为拆分数据到列的分隔点。

check Space option under the Delimiters section

8第三步,确保 常规 被选为列数据格式(或根据需要选择其他格式),并通过单击选择要显示拆分数据的单元格。 select button请确保目标区域不会覆盖现有数据。

specify options in the dialog box

9. 单击 完成,Excel 将把文本拆分为多个列,每个列代表原本由大写字母分隔的单词。

cell contents have been split into multiple columns

如果您遇到某些单词未按预期拆分的错误,请检查是否存在异常情况,如首字母缩略词(连续多个大写字母)或尾随空格。考虑优化您的 VBA 代码或仔细检查数据中的异常值。此外,使用 VBA 或执行批量数据操作时,请记得定期保存工作。

当处理每单元格文本长度或单词数量不一致时,此方法特别有帮助。然而,一些用户可能不太习惯运行 VBA 代码,在这种情况下,您可以考虑下面的替代方法。


使用 Kutools for Excel 按大写字母将文本拆分为单独的列

Kutools for Excel 提供了一种友好且高效的解决方案,适合所有技能水平的用户按大写字母拆分文本,尤其适用于大型数据集或重复性任务。通过结合使用其“添加文本”和“拆分单元格”功能,您可以轻松完成操作,最大限度地减少努力和风险。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

1. 选择包含要拆分的原始数据的单元格。

2. 单击 Kutools > 文本 > 添加文本。该工具可帮助您在每个大写字母前插入字符或分隔符——例如空格。

click Add Text feature of kutools

3. 在“添加文本”对话框中,将空格(或根据需要输入其他分隔符)输入到“文本”输入框中。然后,在“高级”部分下,选择“首字母为大写”。这将指示 Kutools 在选定单元格的每个大写字母前添加您选择的分隔符。

set options in the dialog box

4. 单击 确定。Kutools 将自动在每个大写字母前添加空格,立即为您准备拆分的数据。

spaces have been added before each capital letter

5. 接下来,保持已处理范围仍处于选中状态,转到 Kutools > 合并与拆分 > 拆分单元格 开始按分隔符将文本拆分为列。

click Split Cells feature of kutools

6. 在“拆分单元格”对话框中,选择“数据分栏类型,并勾选“空格”(或之前添加的任意分隔符)复选框以指示拆分发生的位置。

select Space or other delimiters

7. 单击 确定。将出现一个提示,允许您选择拆分结果的起始单元格。请仔细指定目标区域,确保有足够的空间容纳拆分的列。

select a cell to put the split data

8. 最后,单击 确定 完成拆分操作。您的数据现在将在每个大写字母处分拆为单独的列,高效且准确。

the cells are split by capital letters

此方法非常适用于复杂、大型或频繁更新的数据,并有助于避免手动调整公式或编写代码。请记住,Kutools for Excel 还扩展了其实用性,提供了许多其他功能,促进常见和高级任务的更高效率。

立即下载并免费试用 Kutools for Excel!

最佳Office办公效率工具

🤖 Kutools AI 助手:以智能执行为基础,彻底革新数据分析 |代码生成 |自定义公式创建|数据分析与图表生成 |调用Kutools函数……
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入……
高级LOOKUP多条件VLookup|多值VLookup|多表查找|模糊查找……
高级下拉列表快速创建下拉列表 |依赖下拉列表 | 多选下拉列表……
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域与列……
特色功能网格聚焦 |设计视图 | 增强编辑栏 | 工作簿及工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按名单发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/倾斜/删除线等)……
15大工具集12项 文本工具添加文本删除特定字符等)|50+种 图表 类型甘特图等)|40+实用 公式基于生日计算年龄等)|19项 插入工具插入二维码从路径插入图片等)|12项 转换工具小写金额转大写汇率转换等)|7项 合并与分割工具高级合并行分割单元格等)| ……
Kutools支持多种语言——可选择英语、西班牙语、德语、法语、中文等40多种语言!

通过Kutools for Excel提升您的Excel技能,体验前所未有的高效办公。 Kutools for Excel提供300多项高级功能,助您提升效率并节省时间。 点击此处获取您最需要的功能……


Office Tab为Office带来多标签界面,让您的工作更加轻松

  • 支持在Word、Excel、PowerPoint中进行多标签编辑与阅读
  • 在同一个窗口的新标签页中打开和创建多个文档,而不是分多个窗口。
  • 可提升50%的工作效率,每天为您减少数百次鼠标点击!

所有Kutools加载项,一键安装

Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。

Excel Word Outlook Tabs PowerPoint
  • 全能套装——Excel、Word、Outlook和PowerPoint插件+Office Tab Pro
  • 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
  • 协同更高效——提升Office应用间的整体工作效率
  • 30天全功能试用——无需注册,无需信用卡
  • 超高性价比——比单独购买更实惠