KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何在 Excel 中的大写字母前自动插入空格?

作者Xiaoyang修改日期

在 Excel 中,妥善管理数据格式是确保电子表格清晰专业的重要一环。其中一项常见需求,就是在文本字符串的大写字母前自动插入空格——这在处理拼接不当或格式混乱的数据时尤为关键。本指南为您介绍几种高效实用的实现方法。


使用公式在每个大写字母前插入空格(Excel 2019 及更高版本)

Excel 公式提供了一种灵活的方式,在大写字母前自动插入空格,非常适合偏好非编程方法的用户。

将以下公式复制并粘贴到空白单元格中,然后按 Enter 键(适用于 Excel 365 或 Excel 2021)即可获取第一个结果。(若使用 Excel 2019,请按 Ctrl+Shift+Enter 将其作为数组公式输入。)

=TRIM(LEFT(A2,1) & TEXTJOIN("", TRUE, IF(CODE(MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1))>=65, IF(CODE(MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1))<=90, " "&MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1), MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1)), MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1))))

使用公式在大写字母前插入空格

公式说明:
  • “LEFT(A2,1)”:直接提取字符串的首字符。
  • “INDIRECT(“2:“ & LEN(A2))“:创建一个从第 2 个字符到末尾字符的数字范围。
  • “MID(A2, ROW(。。。), 1)”:从第二个字符起,逐个提取每个字符。
  • “CODE(。。。)”:检查字符的 ASCII 值,判断其是否为大写字母(即 ASCII 值介于 65 到 90 之间)。
  • "TEXTJOIN("", TRUE, ......)“:将字符合并为单个字符串,并在每个大写字母前自动插入空格。
  • “TRIM(。。。)”:删除结果字符串开头和结尾的多余空格。

使用 Kutools for Excel 在每个大写字母前插入空格

“Kutools for Excel”为您提供了一种快速简便的解决方案,可在数据中每个大写字母前自动插入空格!借助其直观的“添加文本”功能,只需几次点击即可轻松完成任务——无需复杂公式或编码!

Kutools for Excel 提供 300 多项高级功能,简化复杂任务,提升创造力与效率。集成 AI 能力,Kutools 精准自动化任务,让数据管理变得轻松自如。Kutools for Excel 的详细信息……         免费试用……

1. 选择要在大写字母前插入空格的区域,然后点击“Kutools”>“文本”>“添加文本”。参见截图:
点击 Kutools 的“添加文本”

2. 在弹出的“添加文本”对话框中,于“文本”框内输入一个空格,勾选“仅添加到”选项,并从下拉列表中选择“大写字母前”。
在对话框中指定选项

3. 单击“确定”按钮,即可在每个大写字母前自动插入空格,效果如下图所示:
使用 Kutools 在每个大写字母前插入空格


使用用户自定义函数在每个大写字母前插入空格

对于追求更高灵活性的高级用户,可创建自定义函数(UDF),在大写字母前自动插入空格。

1. 激活包含需添加空格的文本字符串的工作表。

2. 按住“Alt”+“F11”键,即可打开“Microsoft Visual Basic for Applications”窗口。

3. 点击“插入”>“模块”,并将以下代码粘贴到弹出的“模块”窗口中。

VBA 代码:在大写字母前插入空格

Function AddSpaces(pValue As String) As String
'Updateby Extendoffice
Dim xOut As String
xOut = VBA.Left(pValue, 1)
For i = 2 To VBA.Len(pValue)
   xAsc = VBA.Asc(VBA.Mid(pValue, i, 1))
   If xAsc >= 65 And xAsc <= 90 Then
      xOut = xOut & " " & VBA.Mid(pValue, i, 1)
   Else
      xOut = xOut & VBA.Mid(pValue, i, 1)
   End If
Next
AddSpaces = xOut
End Function

4. 保存并关闭代码后,返回工作表,在数据旁的空白单元格中输入以下公式,然后向下拖动填充至其他单元格,即可在每个大写字母前自动插入空格。

=addspaces(A2)
使用自定义函数在每个大写字母前插入空格

使用 VBA 代码在每个大写字母前插入空格

在本节中,我们将手把手教您如何使用 VBA 代码,在 Excel 中每个大写字母前自动插入空格。无论您是初学者还是高级用户,本指南都将为您提供高效完成这项任务所需的工具与知识。

1. 按住“ALT”+“F11”键,即可打开“Microsoft Visual Basic for Applications”窗口。

2. 单击“插入”>“模块”,并将以下代码粘贴到“模块”窗口中。

VBA 代码:在大写字母前插入空格

Sub AddSpacesRange()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim xOut As String
Dim xValue As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For Each Rng In WorkRng
    xValue = Rng.Value
    xOut = VBA.Left(xValue, 1)
    For i = 2 To VBA.Len(xValue)
       xAsc = VBA.Asc(VBA.Mid(xValue, i, 1))
       If xAsc >= 65 And xAsc <= 90 Then
          xOut = xOut & " " & VBA.Mid(xValue, i, 1)
       Else
          xOut = xOut & VBA.Mid(xValue, i, 1)
       End If
    Next
    Rng.Value = xOut
Next
Application.ScreenUpdating = True
End Sub

3. 然后按下“F5”键执行此代码,系统将弹出提示框,供您选择所需的数据区域。
VBA 代码以选择数据范围

4. 然后单击“确定”关闭此提示框,空格将立即插入到大写字母前,效果如截图所示:
使用 VBA 代码在大写字母前插入空格

在 Excel 中,您可以通过多种方法在每个大写字母前插入空格,每种方法各具优势。遵循本指南中详述的步骤与最佳实践,即可轻松高效地完成此任务,显著优化您的工作流程。如果您希望掌握更多 Excel 实用技巧,我们的网站提供数千篇教程,不容错过!


相关文章:

如何在 Excel 中为逗号后自动添加空格?


最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 LOOKUP多条件 VLookup  |  多值 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、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读
  • 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
  • 将您的工作效率提升 50%,每天减少数百次鼠标点击!

所有 Kutools 插件,一个安装程序

Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱