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

Excel 在单元格的指定位置插入拆分为文本和数字

作者修改日期

在 Excel 中,向单元格添加文本或数字是一项极为常见的操作,例如在姓名之间插入空格、为单元格内容添加前缀或后缀,或在社会安全号码中加入连字符等。本教程涵盖了 Excel 中几乎所有的添加场景,并提供了相应的实用方法。

本教程导航

1. 在每个单元格开头添加内容

1.1 使用公式在单元格开头添加内容

1.2 使用快速填充在单元格开头添加内容

1.3 使用 VBA 代码在单元格开头添加内容

2. 在每个单元格末尾添加内容

2.1 使用公式在单元格末尾添加内容

2.2 使用快速填充在单元格末尾添加内容

2.3 使用 VBA 代码在单元格末尾添加内容

3. 在字符串中间添加内容

3.1 使用公式在字符串第 n 个字符后添加内容

3.2 使用快速填充在字符串第 n 个字符后添加内容

3.3 使用 VBA 代码在字符串第 n 个字符后添加内容

4. 使用 Kutools for Excel 在指定位置添加字符(按需添加)

4.1 添加文本第一个字符前或最后一个字符后

4.2 在指定位置添加添加文本

4.3 添加文本工具的扩展功能

5. 在首个特定文本前后添加添加文本

5.1 在首个特定文本前添加添加文本

5.2 在首个特定文本后添加添加文本

6. 在每个单词前后添加字符

6.1 使用公式在每个单词前后添加字符

6.2 使用查找和替换在每个单词前后添加字符

6.3 使用 VBA 代码在每个单词前后添加字符

7. 在字符之间添加添加文本

7.1 使用自定义函数在每个字符/数字之间添加添加文本

7.2 使用公式在每个数字之间添加空格

8. 在每个单词之间添加字符

9. 在拆分为文本和数字之间添加字符

9.1 使用公式在拆分为文本和数字之间添加字符

9.2 使用快速填充在拆分为文本和数字之间添加字符

10. 为电话号码/社保号码添加连字符

10.1 使用公式为数字添加连字符

10.2 使用设置单元格格式为数字添加连字符

10.3 使用 Kutools for Excel 的添加文本功能为电话号码添加连字符

11. 添加前导零以固定单元格长度

11.1 使用设置单元格格式功能为单元格添加前导零

11.2 为公式添加前导零

12. 添加尾随零以固定数字长度

13. 为文本添加尾随空格

14. 在文本或数字周围添加引号/括号

14.1 使用设置单元格格式在内容周围添加引号/括号

14.2 使用公式在内容周围添加引号/括号

14.3 使用 VBA 在内容周围添加引号/括号

15. 直接向公式结果添加添加文本

注意

在本教程中,我精心准备了一些示例,直观展示这些方法的使用方式。当您使用以下 VBA 代码或公式时,可根据实际需求灵活调整引用内容,也可直接下载示例文件立即体验。

文档示例点击下载示例文件


1. 在每个单元格的开头添加内容

此部分列出了在每个单元格开头添加字符的不同方法,如下图所示:
在每个单元格开头添加文本

1.1 使用公式在单元格开头添加内容


您可以选择以下三种公式之一:

公式 1:连接运算符 “&“

使用 & 符号将多段文本连接起来。

"text"&cell

公式 2:CONCATENATE 函数

CONCATENATE 函数可将多个文本轻松连接为一个整体。

CONCATENATE("text",cell)

公式 3:CONCAT 函数

这是一个全新函数,仅适用于 Excel 2019、Office 365 和 Excel Online。

CONCAT("text",cell)

在通用公式中:cell 是指向您要添加前缀的文本所在单元格的引用,text 是要添加到该单元格中的文本。

以上述示例为例,您可以在编辑栏中使用以下公式:

“&“

=$E$3&B3="Iphone"&B3

CONCATENATE 函数

=CONCATENATE($E$3,B3)=CONCATENATE("Iphone",B3)

CONCAT 函数

=CONCAT($E$3,B3)=CONCAT("Iphone",B3)

Enter 键获取结果,然后向下拖动自动填充柄,即可将公式应用到 B3:B6 区域的每个单元格。
使用公式在单元格开头添加内容

 注意:文本应使用双引号括起来,否则公式将返回错误值 #NAME? 错误。如果将单元格引用应用于文本,请务必使用绝对引用,您可以按 F4 键将相对引用更改为绝对引用。

1.2 使用快速填充在单元格开头添加内容


如果您使用的是 Excel 2013 或更高版本,强大的新功能快速填充可根据您在上方单元格中输入的内容,自动填充下方单元格。

在第一个原始数据旁边的单元格中,手动输入带前缀文本的第一个数据,如下图所示:
手动输入带前缀文本的首个数据

接着在下方单元格中继续输入带前缀文本的第二条数据,输入时将出现灰色预览列表,此时按下 Enter 键,即可让快速填充自动完成剩余数据的填充。
按 Enter 键以启用快速填充自动填充数据按 Enter 键以启用快速填充自动填充数据

如果未出现预览列表,请转到“开始”选项卡,点击填充> 快速填充,即可手动运行该功能。

使用 VBA 代码在单元格开头添加 1.3


如果您熟悉 VBA 代码,这里为您介绍一段实用的 VBA 代码,可在选定区域的每个单元格开头添加指定文本。

1. 选择要添加前缀文本的单元格区域,然后按 Alt+F11 键,即可打开 Microsoft Visual Basic for Applications 窗口。

2. 然后在弹出的窗口中,单击插入 > 模块,即可插入一个空白新模块。
单击 插入 > 模块 以插入一个新的空白模块

3. 将下方的 VBA 代码复制并粘贴到新建的模块中。

VBA:在单元格开头添加内容

Sub AppendToExistingOnLeft()
Dim c As Range
For Each c In Selection
If c.Value <> "" Then c.Value = "Iphone" & c.Value
Next
End Sub
注意:在代码脚本中,Iphone 是您希望添加到所选单元格开头的文本,请根据需要进行修改。

将代码复制并粘贴到模块中

4. 按 F5 键,或单击窗口中的运行按钮运行按钮即可执行该 VBA 代码。

现在,所有选中的单元格开头都已成功添加了“Iphone”文本。
所有选中的单元格都在开头添加了指定文本


2. 在每个单元格末尾添加内容

除了在单元格开头添加文本外,在单元格末尾添加文本也很常见。以下截图以在每个单元格末尾添加单位为例进行说明:
在每个单元格末尾添加文本

使用公式在单元格末尾添加 2.1


您可以选择以下三种公式之一:

公式 1:连接运算符 “&“

使用 & 符号将多个文本拼接在一起。

单元格&“文本“

公式 2:CONCATENATE 函数

CONCATENATE 函数可将多个文本轻松连接为一个整体。

CONCATENATE(单元格,“文本“)

公式 3:CONCAT 函数

这是一个全新函数,仅适用于 Excel 2019、Office 365 和 Excel Online。

CONCAT(单元格,“文本“)

在通用公式中:cell 是指向需添加后缀的文本所在单元格的引用,text 是要添加到该单元格中的文本。

以上述示例为例,您可以在编辑栏中使用如下公式:

“&“

=B3&$E$3=B3&"Kg"

CONCATENATE 函数

=CONCATENATE(B3, $E$3)=CONCATENATE(B3, "Kg")

CONCAT 函数

=CONCAT(B3, $E$3)=CONCAT(B3, "Kg")

Enter 键获取结果,然后向下拖动自动填充柄,即可将结果文本添加到 B3:B6 区域每个单元格的末尾。
使用公式在单元格末尾添加内容

 注意文本必须用双引号括起来,否则公式将返回 #NAME? 错误。若将单元格引用用于文本,请务必使用绝对引用——您可按 F4 键将相对引用快速转换为绝对引用。

使用快速填充在单元格末尾添加 2.2


如果您使用的是 Excel 2013 或更高版本,强大的新功能快速填充可根据您上方输入的单元格内容,自动填充下方单元格。

选择紧邻第一个原始数据的单元格,手动输入带后缀文本的第一个数据,如下图所示:
手动输入带后缀文本的首个数据

然后在第一个结果下方的单元格中,单击数据> 快速填充,即可自动填充包括活动单元格在内的所有下方单元格。
包括活动单元格在内的下方所有单元格将自动填充
包括活动单元格在内的下方所有单元格将自动填充

使用 VBA 代码在单元格末尾添加 2.3


以下是一段 VBA 代码,可在所选区域的每个单元格末尾添加指定文本。

1. 选择要添加后缀文本的单元格区域,然后按 Alt+F11 键,即可打开 Microsoft Visual Basic for Applications 窗口。

2. 然后在弹出的窗口中单击。插入> 模块 以插入一个全新的空白模块。
单击 插入 > 模块 以插入一个新的空白模块

3. 将下方的 VBA 代码复制并粘贴到新建的模块中。

VBA:在单元格末尾添加内容

Sub AppendToExistingOnRight()
Dim c As Range
For Each c In Selection
If c.Value <> "" Then c.Value = c.Value & "Kg"
Next
End Sub
注意:在代码脚本中,Kg 是您希望添加到所选单元格末尾的文本,请根据需要进行修改。

将代码复制并粘贴到模块中

4. 按 F5 键,或单击运行按钮运行按钮,即可执行该 VBA 代码。

现在,文本“Kg”已添加到每个单元格的末尾。
指定文本已添加到每个单元格末尾


3. 在字符串中间插入

对大多数人来说,在单元格开头或末尾添加文本相对简单,但在单元格中间插入文本则稍显困难。例如,如下图所示,需在 B3:B7 区域每个单元格的第二个字符后添加分隔符(如冒号“:”)。
在字符串中间添加文本

使用公式在字符串的第 n 个字符后添加 3.1


以下是四种可用于完成此任务的公式,请任选其一使用:

公式 1:结合 LEFT 和 RIGHT 函数

LEFT(单元格, n) & "文本" & RIGHT(单元格, LEN(单元格) ——n)

公式 2:结合 CONCATENATE(CONCAT)、RIGHT 和 LEN 函数

CONCATENATE(LEFT(单元格, n), "文本", RIGHT(单元格, LEN(单元格) ——n))

CONCAT(LEFT(单元格, n), "文本", RIGHT(单元格, LEN(单元格) ——n))

公式 3:REPLACE 函数

REPLACE(单元格, n+1, 0, "文本“)

在通用公式中:cell 是指向要在其中插入文本的单元格引用,text 是要插入的文本,n 是指定在文本字符串第几个字符之后插入该文本的数字。

为解决上述任务,请使用如下公式:

结合 LEFT 和 RIGHT 函数

=LEFT(B3, 2) & ":" & RIGHT(B3, LEN(B3) -2)=LEFT(B3, 2) & $E$3 & RIGHT(B3, LEN(B3) -2)

结合 CONCATENATE(CONCAT)、RIGHT 和 LEN 函数

=CONCATENATE(LEFT(B3, 2), ":", RIGHT(B3, LEN(B3) -2))=CONCAT(LEFT(B3, 2), ":", RIGHT(B3, LEN(B3) -2))

REPLACE 函数

=REPLACE(B3, 2+1, 0, ":")=REPLACE(B3, 2+1, 0, $E$3)

Enter 键获取结果,然后向下拖动自动填充柄,即可将结果文本应用到 B3:B7 区域每个单元格的第二个字符之后。
使用公式在字符串第 n 个字符后添加内容

注意:文本应使用双引号括起来,否则公式将返回错误值 #NAME? 错误。如果将单元格引用应用于文本,请务必使用绝对引用,您可以按 F4 键将相对引用更改为绝对引用。

使用快速填充在字符串的第 n 个字符后添加 3.2


如果您使用的是 Excel 2013 或更高版本,快速填充功能可根据上方单元格的内容,自动填充下方单元格。

选择紧邻第一个原始数据的单元格,手动输入在第二个字符后带有冒号的第一个数据,如下图所示:
手动输入首个数据,并在第二个字符后添加冒号

然后在第一个结果下方的单元格中,按下 Ctrl+E 键,即可激活快速填充命令,包括活动单元格在内的所有下方单元格将自动填充。
按 Ctrl + E 键自动填充单元格

注意:如果您使用的是 Mac 系统,请按 Command + E 键。

使用 VBA 代码在字符串的第 n 个字符后添加 3.3


一段 VBA 代码同样能轻松搞定这项任务。

1. 按下 Alt+F11 键,即可打开 Microsoft Visual Basic for Applications 窗口。

2. 然后在弹出的窗口中,单击插入> 模块 可插入一个全新的空白模块。
单击 插入 > 模块 以插入一个新的空白模块

3. 将下方的 VBA 代码复制并粘贴到新建的模块中。

VBA:在单元格中间添加内容

Sub AddToMidduleOfString()
    Dim Rng As Range
    Dim WorkRng As Range
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    For Each Rng In WorkRng
        Rng.Value = VBA.Left(Rng.Value, 2 & ":" & VBA.Mid(Rng.Value, 3, VBA.Len(Rng.Value) - 1)
    Next
End Sub
注意:在代码脚本中,2 是 2 与所插入文本长度之和。再举一个例子,若要在字符串 "A B“ 的第一个字符后添加 “and“,脚本应为 Rng.Value = VBA.Left(Rng.Value,是定义您希望在第几个字符后插入添加文本的位置编号,)是您要插入的文本,31) & "" & VBA.Mid(Rng.Value,4, VBA.Len(Rng.Value) - 1)

将代码复制并粘贴到模块中

4. 按 F5 键,或单击窗口中的运行按钮选择数据区域以执行该 VBA 代码,随后将弹出一个对话框,用于选择要添加文本的单元格。
选择数据区域

5. 单击确定。现在,文本“:”已添加到 B19:B23 区域每个单元格的第二个字符之后。
指定文本已添加到每个单元格的第二个字符之后1


4. 使用添加文本与 Kutools for Excel(可根据需要在指定位置添加字符)

如果您厌倦了公式和 VBA,不妨试试强大又便捷的 Kutools for Excel——其添加文本功能可助您轻松应对!
Kutools 的添加文本功能

此添加文本功能可实现:

  • 添加文本第一个字符前
  • 添加文本最后一个字符后
  • 添加文本在指定位置添加
  • 扩展功能
    添加文本大写字母前
    添加文本小写字母前
    添加文本大小写字母前
    添加文本数字前
Kutools for Excel 提供 300 多项高级功能,简化复杂任务,提升创造力与效率。集成 AI 能力,Kutools 精准自动化任务,让数据管理变得轻松自如。Kutools for Excel 的详细信息……         免费试用……

选择要添加文本的单元格,然后点击 Kutools > 文本 > 添加文本,即可应用文本添加功能。
单击 Kutools 的添加文本功能
4.1 在文本首字符前或末尾添加内容


添加文本对话框中,于文本文本框内输入要添加到单元格的文本,然后勾选位置部分中的第一个字符前选项。
输入文本并勾选“第一个字符前”

单击应用确定即可完成添加。
单击 应用 或 确定 获取结果

要在文本最后一个字符后添加内容,请在文本文本框中输入要添加到单元格的文本,然后勾选位置部分中的最后一个字符后选项。
输入文本并勾选“最后一个字符后”,以在单元格值后添加文本

单击应用确定即可完成添加。
单击 应用 或 确定 获取结果

4.2 添加文本在指定位置


有时,您可能希望将内容添加到单元格中间,或将内容添加到单元格的多个位置。例如,在以下截图所示的社会保险号的第 3 位和第 7 位数字后添加分隔符“——”:
在指定位置添加文本

添加文本对话框中,先在文本文本框中输入内容,勾选指定选项,然后在文本框中输入用逗号分隔的位置,最后单击确定应用
在对话框中指定选项

4.3 添加文本工具的扩展功能


除了可在常规位置(开头、结尾和指定位置)添加文本外,添加文本工具还支持更多灵活的文本插入方式。

  • 大写字母前
  • 小写字母前
  • 大小写字母前
  • 数字前

添加文本对话框中,于文本文本框内输入所需内容,勾选仅添加到选项,然后点击下方下拉菜单选择所需操作。
更多示例结果
更多示例结果

除了添加文本功能外,Kutools for Excel 还提供其他 300+ 实用功能,可助您高效完成 Excel 中的各类任务,请立即获取免费下载。


5. 在首个特定文本前或后添加

本部分介绍在 Excel 中,如何使用公式在首次出现的特定文本之前或之后添加内容。

5.1 添加文本在首个特定文本之前


例如,您希望在单元格中首个“price”文本前添加“(sale)”,如下图所示:
在首个指定文本前添加文本

在 Excel 中,REPLACE 和 SUBSTITUTE 函数即可轻松完成此任务。

REPLACE 函数

REPLACE(单元格,FIND("查找文本“,单元格),0,“添加文本“)

SUBSTITUTE 函数

SUBSTITUTE(单元格,“查找文本“,“替换文本“,1)

在此情况下,请使用上述公式如下所示:

=REPLACE(B4,FIND("price",B4),0,"(sale)")

=SUBSTITUTE(B4,"price","(sale)price",1)

本例中的公式参数为

单元格:B4,

查找文本:price,

添加文本:(sale),

替换文本:(sale)price。

Enter 键获取首个计算结果,然后向下拖动自动填充柄,将公式快速应用到所需单元格。
使用公式在首个指定文本前添加文本

5.2 添加文本在首个特定文本之后


例如,您希望在单元格中首个冒号“:”后添加货币符号“$”,如下图所示:
在首个指定文本后添加文本

在 Excel 中,REPLACE 和 SUBSTITUTE 函数即可轻松完成此任务。

REPLACE 函数

REPLACE(单元格,FIND("查找文本“,单元格),查找文本长度,“替换文本“)

SUBSTITUTE 函数

SUBSTITUTE(单元格,“查找文本“,“替换文本“)

在此情况下,请使用上述公式如下所示:

=REPLACE(B12,FIND(":",B12),1,":$")

=SUBSTITUTE(B12,":",":$")

本例中的公式参数为

单元格:B12,

查找文本::,

替换文本:$。

查找文本长度:1

Enter 键获取首个计算结果,然后向下拖动自动填充柄,即可将该公式应用到所需单元格。
使用公式在首个指定文本后添加文本


6. 在每个单词前或后添加字符

本教程的这一部分介绍了三种不同方法(公式、查找和替换、VBA),帮助您在单元格每个单词前或后添加字符。

在每个单词前添加字符
在每个单词前添加字符
在每个单词后添加字符
在每个单词后添加字符

6.1 使用公式在每个单词前后添加字符


SUBSTITUTE 函数可用于完成此任务,通用公式如下:

在每个单词前添加

"字符“&SUBSTITUTE(字符串, “ “,“ 字符“)

在每个单词后添加

SUBSTITUTE(字符串,“ “,“字符 “)&“字符“

假设要在 B3:B6 列表中每个单词前添加“+”,请使用如下公式:

="+"&SUBSTITUTE(B3, " "," +")

Enter 键获取首个结果,然后向下拖动自动填充柄即可获取所有结果。
使用公式在每个单词前添加字符

假设要在 B11:B14 列表中每个单词后添加($),请使用以下公式:

=SUBSTITUTE(B11," ","($) ")&"($)"

Enter 键获取首个结果,然后向下拖动自动填充柄即可获取所有结果。
向下拖动自动填充柄以获取所有结果

6.2 使用查找和替换在每个单词前或后添加字符


如果您希望在除第一个单词外的每个单词前添加字符,或在除最后一个单词外的每个单词后添加字符(如下图所示),可使用 Excel 内置的查找和替换工具轻松完成此任务。

在除第一个单词外的每个单词前添加
在除第一个外的每个单词前添加内容

在除最后一个外的每个单词后添加
在除最后一个外的每个单词后添加内容

1. 选择要添加字符的单元格,然后按 Ctrl+H 键,即可打开查找和替换对话框。

2. 在查找内容文本框中输入一个空格,然后在替换为文本框中输入带空格的新字符(串),最后单击全部替换按钮。

操作通用示例
在每个单词前添加字符添加新字符(串并在其后加一个空格)在每个单词前添加(sale)

在查找和替换对话框中指定选项指定文本已添加到除第一个外的每个单词前

操作通用示例
在每个单词后添加字符新字符(串后跟一个空格)在每个单词后添加 ——

在查找和替换对话框中指定选项指定文本已添加到除最后一个外的每个单词后

6.3 使用 VBA 代码在每个单词前后添加字符

此处提供了两段 VBA 代码,分别用于在每个单词前或后添加指定字符,请按以下步骤运行代码。

1. 按下 Alt+F11 键,即可打开 Microsoft Visual Basic for Applications 窗口。

2. 在弹出窗口中,单击插入 > 模块,即可插入一个新的空白模块。
单击 插入 > 模块 以插入一个新的空白模块

3. 将下方 VBA 代码复制并粘贴到模块中。

在每个单词前添加

Sub InsertCharBeforeWord()
'UpdateByExtendOffice
Dim ws As Worksheet
Dim xRg As Range
Dim xSRg As Range
Dim xCell As Range
Dim xInStr As String
Dim xArr As Variant
Dim xValue As String
    On Error Resume Next
   
    Set xSRg = Application.Selection
    Set xRg = Application.InputBox("Select cells(continuous):", "Kutools for Excel", xSRg.Address, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    xInStr = Application.InputBox("Type characters you want to add:", "Kutools for Excel", "", , , , , 2)
    If StrPtr(xInStr) = 0 Then Exit Sub
    Application.ScreenUpdating = False
    For Each xCell In xRg
        xArr = Split(xCell.Text, " ")
        xValue = ""
        For Each xStr In xArr
            If Trim(xStr) <> "" Then
                If xValue = "" Then
                    xValue = xInStr & Trim(xStr)
                Else
                    xValue = xValue & " " & xInStr & Trim(xStr)
                    End If
            End If
        Next
        xCell.Value = xValue
    Next
    Application.ScreenUpdating = True
End Sub

在每个单词后添加

Sub InsertCharAfterWord()
'UpdateByExtendOffice
Dim ws As Worksheet
Dim xRg As Range
Dim xSRg As Range
Dim xCell As Range
Dim xInStr As String
Dim xArr As Variant
Dim xValue As String
    On Error Resume Next
 
    Set xSRg = Application.Selection
    Set xRg = Application.InputBox("Select cells(continuous):", "Kutools for Excel", xSRg.Address, , , , , 8)
    If xRg Is Nothing Then Exit Sub
   
    xInStr = Application.InputBox("Type characters you want to add:", "Kutools for Excel", "", , , , , 2)
    If StrPtr(xInStr) = 0 Then Exit Sub
   
    Application.ScreenUpdating = False
    For Each xCell In xRg
        xArr = Split(xCell.Text, " ")
        xValue = ""
        For Each xStr In xArr
            If Trim(xStr) <> "" Then
                If xValue = "" Then
                    xValue = Trim(xStr) & xInStr
                Else
                    xValue = xValue & " " & Trim(xStr) & xInStr
                End If
            End If
        Next
        xCell.Value = xValue
    Next
    Application.ScreenUpdating = True
End Sub

4. 按 F5 键运行代码(或单击功能区中的)运行按钮选择数据区域),随后弹出对话框,提示您选择要处理的连续单元格,单击确定
选择数据区域

5. 在第二个弹出对话框中输入要添加的字符,然后单击确定
输入要添加的字符

随后,字符将被添加到每个单词的开头或末尾。


7. 在字符之间添加添加文本

有时,您可能希望在每个字符之间插入特定文本。本部分介绍了两种常见场景:一是在每个字符之间添加指定文本,二是在每个数字之间插入空格。

7.1 使用自定义函数在每个字符/数字之间添加文本


想在字符串的每个字符之间插入特定字符?自定义函数轻松帮您实现!

本例中,我们在每个字符之间添加一个空格。

1. 按下 Alt+F11 键,即可打开 Microsoft Visual Basic for Applications 窗口。

在弹出的窗口中,单击插入 > 模块,即可插入一个新的空白模块。
单击 插入 > 模块 以插入一个新的空白模块

将下方的 VBA 代码复制并粘贴到该模块中。3

在字符之间添加文本

Function AddText(Str As String) As String
    Dim i As Long
    For i = 1 To Len(Str)
        AddText = AddText & Mid(Str, i, 1) & " "
    Next i
    AddSpace = Trim(AddSpace)
End Function

4. 保存代码并关闭此窗口,返回工作表后,在要显示计算结果的单元格中输入以下公式。

=AddText(B3)

B3 是包含您希望在字符之间添加空格的字符串的单元格。

5. 按下 Enter 键获取结果,然后拖动自动填充柄至其他单元格,即可快速获得所需结果。
输入公式以在单词之间添加字符

 

注意

1)在 VBA 代码中,您可以将" "替换为其他所需文本,例如改为“-“,即可在字符之间添加连字符。

2)该代码将在每个字符后添加新文本。如果您不需要最后一个添加文本,可使用以下公式将其删除。有关该公式的更多详情,请访问:

如何从 Excel 单元格或字符串中删除前 N 位或后 N 位字符?

LEFT(单元格,LEN(单元格)——文本长度)

7.2 使用公式在每个数字之间添加空格


如果您想在数值型字符串的各位数字之间添加空格,可以使用 TEXT 函数。

注意您要添加空格的区域中的数字必须位数相同,否则部分结果可能不正确。

假设 B10:B12 范围内有一列 8 位数字,请选择一个用于放置结果的单元格,输入以下公式:

=TEXT(B10,"# # # # # # # #")

Enter 键后,拖动自动填充柄至其他单元格。
使用公式在每个数字之间添加空格

若数字长度为 5,公式应调整为 =TEXT(B10,"# # # # #")


8. 在每个单词之间添加字符

如果您想在每个单词之间添加字符(例如在名字、中间名和姓氏之间添加空格,如下图所示),可以使用自定义函数。
在每个单词之间添加字符

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

2. 在弹出窗口中,单击插入> 模块,即可插入一个新的空白模块。

将下方的 VBA 代码复制并粘贴到该模块中。3

在单词之间添加字符

Function AddCharacters(pValue As String) As String
'UpdatebyExtendoffice20160908
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
AddCharacters = xOut
End Function

4. 保存代码后,关闭此窗口返回工作表,然后在要放置结果的单元格中输入以下公式。

=AddCharacters(B3)

B3 是包含您希望在单词之间添加空格的字符串的单元格。

5. 按 Enter 键获取结果,然后拖动自动填充柄至其他单元格,即可快速获得所需结果。
输入公式以在每个单词之间添加字符

注意:在 VBA 代码中,您可以修改" "可根据需要替换为其他文本,例如将其更改为“-“以在单词之间添加 ——。

9. 在拆分为文本和数字之间添加字符

要在拆分为文本和数字之间添加特定字符(如下图所示),这里提供两种方法。
在文本和数字之间添加字符

9.1 使用公式在拆分为文本和数字之间添加字符


如果文本位于数字前面,通用公式为

TRIM(REPLACE(string,MIN(FIND({1,2,3,4,5,6,7,8,9,0},string&"1234567890")),0,"-"))

以上述情况为例,请使用如下公式:

=TRIM(REPLACE(B4,MIN(FIND({1,2,3,4,5,6,7,8,9,0},B4&"1234567890")),0,"-"))

Enter 键获取第一个结果,然后拖动自动填充柄至其他单元格,即可快速填充此公式。
使用公式在文本和数字之间添加字符

如果数字位于文本前面,通用公式为

LEFT(string,SUM(LEN(string)-LEN(SUBSTITUTE(string,{0,1,2,3,4,5,6,7,8,9},""))))&"."&RIGHT(string,LEN(B13)- SUM(LEN(string)-LEN(SUBSTITUTE(string, {0,1,2,3,4,5,6,7,8,9}, ""))))

以上述情况为例,请使用如下公式:

=LEFT(B13,SUM(LEN(B13)-LEN(SUBSTITUTE(B13,{0,1,2,3,4,5,6,7,8,9},""))))&"."&RIGHT(B13,LEN(B13)- SUM(LEN(B13)-LEN(SUBSTITUTE(B13, {0,1,2,3,4,5,6,7,8,9}, ""))))

Enter 键获取第一个结果,然后拖动自动填充柄至其他单元格,即可快速填充此公式。
拖动自动填充柄到其他单元格以填充此公式

9.2 使用快速填充在拆分为文本和数字之间添加字符


如果您使用的是 Excel 2013 或更高版本,快速填充功能还能帮您在拆分出的文本和数字之间自动添加分隔字符。

在原始数据旁边,手动输入已在拆分为文本和数字之间添加了字符的新数据。然后按 ENTER 键跳转到第一个结果的下一个单元格。
在原始数据旁边输入新数据,按 Enter 键进入第一个结果的下一个单元格

然后按下 Ctrl+E 键,即可启用快速填充。
按 Ctrl + E 键启用快速填充

扩展

本教程还列举了一些日常生活中或工作中可能遇到的关于添加文本的应用场景。


10. 在电话号码/社会安全号码中添加连字符

有时,您需要在一系列电话号码或社保号码中添加分隔符(如下图所示)。若需处理数百个号码,手动输入将极为繁琐。本节为您介绍三种高效完成此任务的实用技巧。
为电话号码/社会安全号码添加短横线

10.1 使用公式为数字添加连字符


以下两个公式可快速为数字添加连字符。若要在单元格 B3 中第 3 位和第 6 位数字后插入连字符,请使用以下公式:

REPLACE 函数

=REPLACE(REPLACE(B3,4,0,"-"),8,0,"-")

TEXT 函数

=TEXT(B3,"???-???-??? ")

Enter 键获取第一个结果,然后将自动填充柄拖拽至其他单元格。
使用公式为数字添加短横线

注意

您可以根据需要修改上述公式的参数。例如,若要在第 2、4 和 6 位数字后添加“-“,即可使用以下公式:

=REPLACE(REPLACE(REPLACE(B3,3,0,"-"),6,0,"-"),9,0,"-")

=TEXT(B3,"??-??-??-??? ")

 

10.2 使用设置单元格格式为数字添加连字符


若要直接在原始单元格的数字上添加连字符,可使用设置单元格格式功能。

1. 选择要添加连字符的数字,然后按 Ctrl+1 键,即可打开设置单元格格式对话框。

2. 在设置单元格格式对话框中,点击数字选项卡,在分类区域中选择自定义

3. 然后在右侧的类型区域中,将###-###-###输入到文本框中,单击确定
在对话框中设置单元格格式

现在所选数字已添加连字符。
所选数字已添加短横线

10.3 使用 Kutools for Excel 的添加文本为电话号码添加连字符


如果您已在 Excel 中安装了 Kutools for Excel,那么添加文本功能也能助您一臂之力。

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

1. 选择包含需要添加连字符的数字的单元格,单击 Kutools> 文本> 添加文本。
单击 Kutools > 文本 > 添加文本

2. 在添加文本对话框中,于文本文本框内输入连字符或其他分隔符,勾选指定选项,并在下方文本框中输入需添加连字符的位置(用逗号分隔)。
在对话框中指定选项

3. 单击确定或应用,所选数字随即添加连字符。

免费下载添加文本可享 30 天免费试用。


11. 在单元格中添加前导零以固定长度

假设有不同长度的数字列表,您希望添加前导零使它们长度一致且整齐美观(如下图所示)。以下是两种供您使用的处理方法。
添加前导零以固定单元格长度

11.1 使用设置单元格格式功能为单元格添加前导零


您可以使用设置单元格格式功能,通过添加前导零来固定单元格长度,轻松设置自定义格式。

1. 选择要添加前导零的单元格,然后按 Ctrl+1 键,即可打开设置单元格格式对话框。

2. 在设置单元格格式对话框中,在数字选项卡下,从分类区域中选择自定义

3. 然后在右侧的类型区域中,将数字长度固定为 4 位,请在文本框中输入 0000;若需其他长度(例如 5 位),则输入对应数量的 0(如 00000),完成后单击确定
在对话框中指定自定义格式

此时数字已添加前导零并具有相同长度。
数字已添加前导零并保持相同长度

注意:如果原始数据的长度超过设定长度,将直接显示原始数据,不添加前导零。


11.2 为公式添加前导零


如果您不想更改原始数据,可以使用公式在其他位置为数字添加前导零。

以下三个函数可为您提供帮助。

公式 1:TEXT 函数

TEXT(数字,"00……“)

公式 2:RIGHT 函数

RIGHT("00……“&数字,长度)

公式 3:BASE 函数

BASE(数字,10,长度)

公式中零的数量等于该数字的位数。

此处将数字长度设为 4 位,请使用以下公式:

=TEXT(B10,"0000")

=RIGHT("0000"&B10,4)

=BASE(B10,10,4)

按下 Enter 键,然后向下拖动自动填充柄。
使用公式为单元格添加前导零

注意:如果原始数据的长度超过设定长度,将直接显示原始数据,不添加前导零。


12. 在数字后添加尾随零以固定长度

如果要为数字添加尾随零以固定其长度,例如将单元格 B3:B7 中的数字统一显示为 5 位(如下图所示),您可以通过公式轻松实现。
添加尾随零以固定数字长度

REPT 函数

数字&REPT(“0“,长度-LEN(数字))

在该公式中,参数“数字”表示您要添加尾随零的数字或单元格引用,参数“长度”表示您期望的固定位数。

请使用如下公式:

=B3&REPT("0",5-LEN(B3))

Enter 键后,向下拖动自动填充柄至需要此公式的单元格。
使用公式为数字添加尾随零以固定长度


13. 在文本后添加尾随空格

如果要将工作表中的数据导出或复制到记事本中,由于单元格值长度不同,文本可能排列不整齐。为使其看起来整洁(如下图所示),您需要添加尾随空格。
为文本添加尾随空格

要解决此问题,REPT 函数可助您一臂之力。

LEFT(文本 & REPT(“ “,最大长度),最大长度)

在该公式中,参数“文本”表示您要添加尾随空格的文本或单元格引用,参数“最大长度”则是您希望文本达到的固定长度,且必须大于或等于原始文本的实际长度。

要为单元格 B3:C6 中的文本添加尾随空格,请使用以下公式:

=LEFT(B3 & REPT(" ",10),10)

按下 Enter 键后,将自动填充柄拖动至所有需要此公式的单元格。

在此例中,由于所用文本中最长的为 9 个字符,因此此处使用 10.
使用公式为文本添加尾随空格


14. 在文本或数字周围添加引号/括号

有时,您需要在单元格中的文本或数字周围添加引号或括号(如下图所示)。除了逐一手动输入外,Excel 中还有两种方法可快速完成此操作。
在文本或数字周围添加引号

14.1 通过设置单元格格式在文本周围添加引号/括号


若要在原始数据的文本周围添加引号,Excel 的“设置单元格格式”功能可助您一臂之力。

1. 选择要添加引号的单元格,按 Ctrl+1 键,即可打开设置单元格格式对话框。

2. 在设置单元格格式对话框中,切换到数字选项卡,在自定义类别中选择类别,然后在右侧的“‘‘“@“‘‘“输入框中输入类型,单击确定
在对话框中指定自定义格式

所选单元格中的文本现已添加了引号。

若要在文本周围添加括号,请在“设置单元格格式”对话框的“类型”输入框中输入(@)

14.2 通过公式在文本周围添加引号/括号


公式也可用于在其他单元格的文本周围添加引号。

使用 & 连接符

““““&文本&““““

char(34)&文本&char(34)

在此例中,单元格 B11 中的文本,请使用以下公式:

=""""&B11&""""

=char(34)&B11&char(34)

按下 Enter 键,然后向下拖动自动填充柄即可填充单元格。
使用公式添加引号

若要在文本周围添加括号,请使用公式“(“&文本&“)“

14.3 通过 VBA 在文本周围添加引号/括号


如果您需要 VBA 代码来完成此操作,以下是相关 VBA 代码。

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

2. 然后在弹出的窗口中,单击插入> 模块,即可插入一个空白新模块。

将下方的 VBA 代码复制并粘贴到新模块中。3

VBA:在文本周围添加引号

Sub addquotationmarksorbrackets()
'UpdatebyExtendOffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
Rng.Value = """" & Rng.Value & """"
Next
End Sub
 注意:在代码脚本中,"""" & Rng.Value & """"表示在文本周围添加双引号;如果希望在文本周围添加圆括号(),请将其更改为 "(" & Rng.Value & ")"

将代码复制并粘贴到模块中

4. 按 F5 键或单击窗口中的运行按钮选择数据区域即可执行 VBA 代码,随后将弹出对话框,用于选择要添加引号的单元格。
选择数据区域

5. 单击确定,所选单元格中的文本周围即已添加引号。


15. 将添加文本直接应用于公式结果

有时,为了帮助其他用户更好地理解数据,您可能需要在公式结果中添加文本(如下图所示)。要在公式中包含文本,您可以使用引号将文本括起来,并使用 & 连接符将文本与公式组合在一起。
向公式结果添加文本

案例 1 公式前的添加文本

"Today is "&TEXT(TODAY(),"dddd, mmmm dd.")
使用公式在公式前添加文本

案例 2 公式后的添加文本 公式

TEXT(NOW(),"HH:MM:SS")&" is the current time."
使用公式在公式后添加文本

案例 3 公式两侧的添加文本

"Today sold “&数据&“ kg."
使用公式在公式两侧添加文本


更多 Excel 教程:

将多个工作簿/工作表合并为一个
本教程涵盖您可能遇到的几乎所有合并场景,并提供相应的专业解决方案,助您轻松高效完成任务!

拆分文本、数字和日期单元格(拆分为多列)
本教程分为三部分:拆分文本单元格、拆分数字单元格和拆分日期单元格,每部分均提供实用示例,助您轻松掌握对应拆分方法,遇到同类问题时即可快速应对!

在 Excel 中合并多个单元格内容且不丢失数据
本教程聚焦于从单元格的特定位置提取内容,汇总多种方法,助您在 Excel 中按指定位置轻松提取文本或数字。

在 Excel 中比较两列以查找匹配项和差异
本文涵盖您可能遇到的绝大多数两列对比场景,助您轻松应对,不容错过!


  • 超级编辑栏(轻松编辑多行文本和公式);阅读版式(轻松阅读和编辑大量单元格);粘贴到筛选范围……
  • 合并单元格/行/列并保留数据;分割单元格内容;合并重复行并求和/求平均值……防止重复项单元格;比较区域……
  • 选择重复或唯一行;选择空白行(所有单元格均为空);超级查找和模糊查找多个工作簿中的内容;随机选择……
  • 精准公式复制多个单元格而不更改公式引用;自动创建引用到多个工作表;插入项目符号、复选框等更多功能……
  • 收藏并快速插入公式、区域、图表和图片;加密单元格并设置密码;创建邮件列表并发送电子邮件……
  • 提取文本、添加文本、删除某位置字符、删除空格;创建并打印数据分页统计;在单元格内容与批注之间转换……
  • 超级筛选(保存并应用筛选方案到其他工作表);高级排序按月/周/日、频率等分组;特殊筛选按加粗、倾斜等格式……
  • 合并工作簿和工作表;汇总表格基于关键列;分割数据到多个工作表批量转换 xls、xlsx 和 PDF……
  • 数据透视表按周数、星期几等分组……显示未锁定、选区锁定并以不同颜色标识;高亮显示包含公式/名称的单元格……
kte tab 201905
  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑与阅读,大幅提升多文档操作效率!
  • 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中操作。
  • 将您的工作效率提升 50%,每天减少数百次鼠标点击!
officetab bottom