Excel:从文本字符串中删除删除特定字符、单词和数字
如果您在 Excel 中有一系列包含多余字符、数字或符号的文本字符串,可能需要根据其位置或类型删除某些内容。无论是从左侧、右侧还是中间删减字符,或是清除特定字符和数字,Excel 都提供了多种高效的数据清理方法。本教程将逐步介绍如何借助公式、用户自定义函数(UDF)以及内置功能,轻松去除文本字符串中不需要的字符、单词和数字。
从文本字符串的左侧、右侧或中间删除删除特定字符
在 Excel 工作表中,从文本字符串的左侧、右侧或中间删除特定字符,对我们大多数人来说都是一项常见任务。本节将为您介绍几种快速简便的实现方法。
1.1 从文本字符串中删除前 n 个字符
如果您需要从一系列文本字符串中删除前 n 个字符,以下方法或许能帮到您。
通过使用公式
通常,要删除文本字符串开头的字符,您可以使用 REPLACE 函数,或结合使用 RIGHT 与 LEN 函数。
使用 REPLACE函数删除前 N 个字符:
- “string”:您要从中删除特定字符的文本字符串;
- “num_chars”:您希望删除的字符数量。
例如,要从单元格中删除前 2 个字符,请使用以下公式,然后拖动填充柄将公式复制到其他单元格,如下图所示:
=REPLACE(A4, 1, 2, "") 
使用 RIGHT 和 LEN函数删除前 N 个字符:
- “string”:您要从中删除特定字符的文本字符串;
- “num_chars”:您希望删除的字符数量。
要从单元格中删除前 2 个字符,请应用以下公式:
=RIGHT(A4,LEN(A4)-2) 
通过使用用户自定义函数
您还可以创建一个自定义函数,轻松删除单元格中的前 N 个字符。请按以下步骤操作:
1. 按下“Alt + F11”组合键,即可打开“Microsoft Visual Basic for Applications”窗口。
2. 单击“插入”>“模块”,并将以下代码粘贴到弹出的模块窗口中。
VBA 代码:从文本字符串中删除前 n 个字符
Function removeFirstx(rng As String, cnt As Long)
'Updateby Extendoffice
removeFirstx = Right(rng, Len(rng) - cnt)
End Function
3. 随后返回工作表,在空白单元格中输入公式:“=removefirstx(A4,2)”,然后向下拖动填充柄,即可获得如下图所示的所需结果:
注意:在此公式中,“A4”是您要从中删除特定字符的单元格;数字“2”表示您希望从文本字符串开头删除的字符数量。

1.2 从文本字符串中删除后 n 个字符
要从文本字符串右侧删除指定数量的字符,您还可以使用公式或自定义函数。
使用公式
要删除文本字符串末尾的 n 个字符,可使用结合 LEFT 和 LEN 函数的公式。
使用 LEFT 和 LEN函数删除后 N 个字符:
- “string”:您要从中删除特定字符的文本字符串;
- “num_chars”:您要删除的字符数量。
要从文本字符串末尾删除 3 个字符,请使用此公式,然后拖动填充柄将公式复制到其他单元格,如下图所示:
=LEFT(A4, LEN(A4) - 3) 
通过使用用户自定义函数
用户自定义函数还能帮您轻松删除一系列单元格中的后 N 个字符。请按以下步骤操作:
1. 按下“Alt + F11”组合键,即可打开“Microsoft Visual Basic for Applications”窗口。
2. 单击“插入”>“模块”,并将以下代码粘贴到弹出的模块窗口中。
VBA 代码:从文本字符串中删除后 n 个字符
Function removeLastx(rng As String, cnt As Long)
'Updateby Extendoffice
removeLastx = Left(rng, Len(rng) - cnt)
End Function
3. 随后返回工作表,在空白单元格中输入公式:“=removelastx(A4,3)”,然后向下拖动填充柄,即可获得如下图所示的所需结果:
注意:在此公式中,“A4”是您要从中删除特定字符的单元格;数字“3”表示您希望从文本字符串末尾删除的字符数量。

1.3 使用强大功能删除前 n 个、后 n 个字符或特定位置的字符
记不住各种公式?别担心!“Kutools for Excel”提供了一项强大功能——“删除某位置字符”,助您轻松从文本字符串的左侧、右侧或指定位置移除特定字符。借助这一实用小工具,只需轻点几下,即可高效完成操作,完全无需记忆任何公式!
1. 请选择您要删除特定字符的单元格,然后单击“Kutools”>“Text”>“删除某位置字符”,参见截图:

2. 在“删除某位置字符”对话框中,请执行以下操作:
2.1 从单元格中删除前 n 个字符:
- 在“数字”文本框中,输入您希望从字符串开头删除的字符数量。本例中,我将删除前 2 个字符。
- 在“位置”部分,选择“从左侧”选项。
- 随后,单击“确定”或“应用”按钮,即可获得如下图所示的效果。

2.2 从单元格中删除后 n 个字符:
- 在“数字”文本框中,输入您要从字符串末尾删除的字符数量。本例中,我将删除最后 3 个字符。
- 在“位置”部分选择“从右侧”选项。
- 然后,单击“确定”或“应用”按钮,即可获得如下图所示的效果。

2.3 从单元格文本的指定位置删除 n 个字符:
如果您需要从文本字符串的特定位置删除指定数量的字符,例如从第 3 个字符开始删除 3 个字符。
- 在“数字”文本框中,输入您希望从字符串中删除的字符数量。在此示例中,我将从某一特定位置起删除 3 个字符。
- 选中“指定”选项,并在“位置”部分的文本框中输入您希望开始删除特定字符的起始位置。此处,我将从第 3 个字符开始删除。
- 然后,单击“确定”或“应用”按钮,即可获得如下图所示的效果。

Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取
1.4 使用公式同时删除文本字符串的前 n 个和后 n 个字符
当您需要在 Excel 中同时删除文本字符串两侧的多余字符时,可巧妙结合 MID 与 LEN 函数,轻松创建公式高效完成此操作。
- “string”:您要从中删除特定字符的文本字符串;
- “left_chars”:要从左侧删除的字符数;
- “right_chars”:要从右侧删除的字符数量。
例如,您需要同时删除文本字符串的前 7 个字符和后 5 个字符,请在空白单元格中输入以下公式:
=MID(A4, 7+1, LEN(A4) - (7+5)) 注意:在此公式中,“A4”是您要从中删除特定字符的单元格;数字“7”表示从左侧删除的字符数;数字“5”表示从右侧删除的字符数。
然后,向下拖动填充柄至要应用此公式的单元格,即可获得如下图所示的结果:

删除文本字符串中的多余/特殊字符
从其他位置向 Excel 导入数据时,您的工作表中可能会混入大量特殊字符或不需要的内容。本节将为您提供一些实用方法,帮助您快速清除这些多余字符(例如 #@$%^&、空格、数字、非数字字符、换行符等)。
2.1 删除文本字符串中的某些特殊字符
如果文本字符串中包含 %^&*() 等特殊字符,您可使用以下三种技巧轻松删除此类字符。
使用 SUBSTITUTE 函数从文本字符串中删除多个特殊字符
通常,在 Excel 中,您可以嵌套多个 SUBSTITUTE 函数,将每个特定字符替换为空值,其通用语法如下:
- “string_cell”:包含您要从中删除特殊字符的文本字符串的单元格;
- “char 1、char 2、char 3”:您要删除的多余字符。
现在,请将以下公式复制或输入到空白单元格中:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "#", ""), "&", ""), "*", ""), "%", "") 然后,向下拖动填充柄至要应用此公式的单元格,您指定的所有不需要的字符将一次性被删除,参见截图:

提示:如需删除更多字符,只需在公式中嵌套更多 SUBSTITUTE 函数即可。
使用用户自定义函数从文本字符串中删除多个特殊字符
当需要删除的特殊字符较少时,上述嵌套的 SUBSTITUTE 函数表现良好;但若需删除数十个字符,公式将变得冗长且难以维护。此时,以下用户自定义函数(UDF)可助您快速、轻松地完成任务。
1. 按下“Alt + F11”组合键,即可打开“Microsoft Visual Basic for Applications”窗口。
2. 单击“插入”>“模块”,然后将以下代码粘贴到模块窗口中。
VBA 代码:从文本字符串中删除多个特殊字符
Function RemoveUnwantedChars(Str As String, xchars As String)
'Updateby Extendoffice
For Index = 1 To Len(xchars)
Str = Replace(Str, Mid(xchars, Index, 1), "")
Next
RemoveUnwantedChars = Str
End Function
3. 随后关闭代码窗口并返回工作表,在空白单元格中输入公式“=RemoveUnwantedChars(A2, $D$2)”以获取结果,再向下拖动填充柄即可快速获得所需结果,详见截图:
注意:在上述公式中,“A2”是您要从中删除特定字符的单元格;“$D$2”包含您要删除的特殊字符(您可以根据需要输入其他特殊字符)。

通过使用一项强大功能从文本字符串中删除多个特殊字符
若您已安装“Kutools for Excel”,即可使用其“删除特定字符”功能,按需从单元格列表中轻松清除各类字符,如数字、字母、不可打印字符等。
1. 请选择要从中删除特殊字符的单元格区域,然后单击“Kutools”>“Text”>“删除特定字符”,如下图所示:

2. 在“删除特定字符”对话框中:
- 在“删除特定字符”部分下,勾选“自定义”选项。
- 然后,在文本框中输入您要删除的特殊字符。
- 然后,单击“确定”或“应用”按钮,即可一次性删除您指定的字符。请参见下图:

Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取
2.2 从文本字符串中删除所有数字
如果您有一组包含数字、字母和特殊字符的混合文本字符串,现在只需删除其中的所有数字,同时保留其余字符,本节将为您提供几种便捷高效的方法。
使用 SUBSTITUTE 函数从文本字符串中删除数字
在 Excel 中,嵌套的 SUBSTITUTE 函数可帮助将所有数字替换为空值,因此您可以使用以下公式从单元格中删除所有数字:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,1,""),2,""),3,""),4,""),5,""),6,""),7,""),8,""),9,""),0,"") 然后向下拖动填充柄至要应用此公式的单元格,所有数字将从文本字符串列表中被删除,参见截图:

使用 TEXTJOIN 函数从文本字符串中删除数字
如果您使用的是 Excel 2019、2021 或 Microsoft 365,全新的 TEXTJOIN 函数也能帮您轻松去除文本字符串中的数字。
请将以下公式复制到空白单元格中,然后同时按 Ctrl + Shift + ENTER 键键以获得第一个结果:
=TEXTJOIN("", TRUE, IF(ISERR(MID(A2, ROW(INDIRECT( "1:"&LEN(A2) )), 1) *1), MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1), "")) 然后将公式复制到下方要应用此公式的其他单元格中,参见截图:

注意:TEXTJOIN 函数仅适用于 Excel 2019、Excel 2021 和 Microsoft 365.
使用用户自定义函数从文本字符串中删除数字
除了上述两种公式外,用户自定义函数也能帮您完成此任务,请按以下步骤操作:
1. 按下“Alt + F11”组合键,即可打开“Microsoft Visual Basic for Applications”窗口。
2. 单击“插入”>“模块”,并将以下代码粘贴到弹出的模块窗口中。
VBA 代码:从文本字符串中删除数字
Function RemoveNumbers(Txt As String) As String
'Updateby Extendoffice
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "[0-9]"
RemoveNumbers = .Replace(Txt, "")
End With
End Function
3. 然后关闭并退出代码窗口,返回工作表,在空白单元格中输入公式:=RemoveNumbers(A2),再向下拖动填充柄,将公式应用至目标单元格,效果如截图所示:

通过使用一项便捷选项从文本字符串中删除数字
如果您厌倦了复杂的公式,不妨试试这款简单高效的工具——“Kutools for Excel”的“删除特定字符”功能。只需轻点几下,即可轻松完成任务!
1. 选择要删除数字的单元格区域,然后单击“Kutools”>“Text”>“删除特定字符”。
2. 在“删除特定字符”对话框中,请按以下步骤操作:
- 在“删除特定字符”部分下,勾选“数字”选项。
- 然后,单击“确定”或“应用”按钮,即可立即删除所有数字。如下图所示:

Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取
2.3 从文本字符串中删除非数字字符
要删除所有非数字字符,仅保留文本字符串中的数字,本节将为您介绍几种在 Excel 中高效完成此任务的方法。
在 Excel 2016 及更早版本中,使用公式从文本字符串中删除非数字字符
如果您使用的是 Excel 2016 或更早版本,则需要应用一个复杂公式来完成此任务,请将以下公式复制或输入到空白单元格中:
=SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)) * ROW(INDIRECT("1:"&LEN(A2))), 0), ROW(INDIRECT("1:"&LEN(A2))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A2)))/10) 然后将公式复制到下方要应用此公式的其他单元格中,参见截图:

注意:若文本字符串中的数字以 0 开头,前导的 0 将会丢失。
在 Excel 2019、2021、365 中使用 TEXTJOIN 函数删除文本字符串中的非数字字符
上述公式对大多数人而言可能略显复杂。如果您使用的是 Excel 2019、2021 或 Microsoft 365,不妨试试这个简洁高效的公式,轻松搞定任务!
请将以下公式复制或输入到空白单元格中,然后同时按“Ctrl + Shift + Enter”键以获得第一个正确结果:
=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,"")) 然后向下拖动填充柄至要应用此公式的单元格,即可获得如下图所示的结果:

注意:使用此公式时,由于返回的数字以文本格式呈现,前导零将得以保留。
使用用户自定义函数从文本字符串中删除非数字字符
当然,您也可以创建一个语法更简单的用户自定义函数,请按以下步骤操作:
1. 按下“Alt + F11”组合键,即可打开“Microsoft Visual Basic for Applications”窗口。
2. 单击“插入”>“模块”,并将以下代码粘贴到弹出的模块窗口中。
VBA 代码:从文本字符串中删除非数字字符
Function Removenonnumeric(str As String) As String
'Updateby Extendoffice
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "[^0-9]"
Removenonnumeric = .Replace(str, "")
End With
End Function
3. 随后关闭并退出代码窗口,返回工作表,在空白单元格中输入公式:=Removenonnumeric(A2),然后向下拖动填充柄至目标单元格,即可提取出仅含数字的结果,如下图所示:

通过使用一项简单功能从文本字符串中删除非数字字符
只需轻点几下,“Kutools for Excel”的“删除特定字符”工具即可直接在选定单元格区域中快速清除所有非数字字符。
1. 选择包含非数字字符并需清理的单元格区域,然后单击“Kutools”>“Text”>“删除特定字符”。
2. 在“删除特定字符”对话框中,请按以下步骤进行设置:
- 在“删除特定字符”部分勾选“非数字”选项。
- 然后,单击“确定”或“应用”按钮,即可立即清除所有非数字字符。请参见下图:

Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取
2.4 将拆分为文本和数字从一个单元格拆分为两列
有时,您可能希望将文本字符串中的内容拆分为纯文本和数字,并分别提取到两个独立的列中。借助以下方法,您可以快速、轻松地完成此任务。
使用用户自定义函数将拆分为文本和数字从一个单元格拆分为两列
通过使用以下用户自定义函数,您可以一次性提取拆分为文本和数字,请按以下步骤操作:
1. 按下“Alt + F11”组合键,即可打开“Microsoft Visual Basic for Applications”窗口。
2. 单击“插入”>“模块”,然后将以下代码粘贴到模块窗口中。
VBA 代码:将文本字符串中的拆分为文本和数字分离到两列中
Function SplitText(pWorkRng As Range, pIsNumber As Boolean) As String
'Updateby Extendoffice
Dim xLen As Long
Dim xStr As String
xLen = VBA.Len(pWorkRng.Value)
For i = 1 To xLen
xStr = VBA.Mid(pWorkRng.Value, i, 1)
If ((VBA.IsNumeric(xStr) And pIsNumber) Or (Not (VBA.IsNumeric(xStr)) And Not (pIsNumber))) Then
SplitText = SplitText + xStr
End If
Next
End Function
3. 随后关闭并退出代码窗口,返回工作表,在空白单元格中输入公式:=SplitText(A2,FALSE),再向下拖动填充柄,将公式填充至所需单元格,即可获取全部文本,详见截图:

4. 接着在另一个单元格中输入公式:=SplitText(A2,TRUE),然后向下拖动填充柄,将公式应用到所需单元格以提取数字,如截图所示:

使用简便功能将一个单元格中的拆分为文本和数字分离到两列中
如果您已安装“Kutools for Excel”,其“分割单元格”功能可助您轻松依据任意分隔符、指定宽度,或将内容拆分为文本与数字,将单元格内容快速拆分为多列或多行。
1. 选择您要拆分的单元格区域,然后单击“Kutools”>“合并和拆分”>“拆分单元格”,如下图所示:

2. 在“分割单元格”对话框中,于“类型”部分选择“分割至多列”选项,并在“拆分依据”部分勾选“拆分为文本和数字”,如截图所示:

3. 然后单击“确定”按钮,系统将弹出另一个“分割单元格”对话框;请选择一个用于输出拆分后文本和数字的单元格,再单击“确定”按钮。现在,您即可看到所选单元格中的内容已一次性拆分为两列——文本与数字,如下方演示所示:

Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取
2.5 从文本字符串中删除换行符
换行符是 Excel 中用于在同一单元格内显示多行内容的功能。有时,当您从网站复制数据,或手动使用“Alt + Enter”键分隔单元格内容时,会引入换行符或回车符。在某些情况下,您可能希望删除这些换行符,让单元格内容以单行形式呈现,如下方截图所示。本文将为您介绍几种在 Excel 中轻松实现这一目标的方法。

使用查找和替换功能从文本字符串中删除换行符
在 Excel 中,您可以使用“查找和替换”功能删除换行符,请按以下步骤操作:
1. 请选择需要删除换行符的数据区域。
2. 然后单击“开始”>“查找和选择”>“替换”(或按 Ctrl + H 键),即可打开“查找和替换”对话框,如截图所示:

3. 在弹出的“查找和替换”对话框中,请按以下步骤操作:
- 将光标置于“查找内容”字段中,然后按下键盘上的“Ctrl + J”——您可能看不到任何变化,但换行符实际上已被成功插入。
- 在“替换为”字段中留空,即可直接删除换行符;或按一次空格键,将换行符替换为空格。

4. 然后单击“全部替换”按钮,即可一次性删除或替换所选单元格中的所有换行符为空格。见截图:

使用 SUBSTITUTE 函数从文本字符串中删除换行符
您还可以结合 SUBSTITUTE 和 CHAR 函数创建公式,轻松去除文本字符串中的换行符。
请应用以下公式获取结果:
=SUBSTITUTE(A2,CHAR(10),"") 
提示:SUBSTITUTE 函数可将代表换行符的 CHAR(10) 字符替换为空。若希望结果以逗号和空格分隔,请使用以下公式:
=SUBSTITUTE(A2,CHAR(10),", ") 
使用 VBA 代码从文本字符串中删除换行符
如果您熟悉使用 VBA 代码,这里也提供了一段代码,请按以下步骤操作:
1. 按下“Alt + F11”组合键,即可打开“Microsoft Visual Basic for Applications”窗口。
2. 单击“插入”>“模块”,然后将以下代码粘贴到模块窗口中。
VBA 代码:从文本字符串中删除换行符
Sub RemoveCarriage()
'Updateby Extendoffice
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 = Replace(Rng.Value, Chr(10), "")
Next
End Sub
3. 然后按下“F5”键运行此代码,系统将弹出一个提示框,请选择要从中删除换行符的区域,如下方截图所示:

4. 然后单击“确定”按钮,所选数据区域中的所有换行符将被删除。
通过使用一项智能选项从文本字符串中删除换行符
此外,“Kutools for Excel”的“删除特定字符”功能还能轻松帮您一键清除换行符。
1. 选择包含换行符的单元格区域,然后单击“Kutools”>“文本”>“删除特定字符”。
2. 在“删除特定字符”对话框中,请按以下步骤进行设置:
- 在“删除特定字符”部分下,勾选“不可打印字符”选项。
- 然后,单击“确定”或“应用”按钮,即可从所选数据区域中删除所有换行符。请参见下图:

Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取
2.6 从文本字符串中删除删除空格(前导、尾随、多余或所有空格)
从外部来源复制粘贴文本到 Excel 工作表时,常常会带入烦人的多余空格,手动删除前导、尾随或其他多余空格既耗时又繁琐。幸运的是,Excel 提供了简单高效的技巧,轻松应对这一难题。
使用 TRIM 函数从文本字符串中删除多余空格(前导、尾随或连续空格)
在 Excel 中,只需使用简单的 TRIM 函数,即可轻松删除文本字符串中的前导空格、尾随空格以及多余的中间空格——该函数会保留单词之间的单个空格,其余全部清除。
请在空白单元格中输入以下公式:
=TRIM(A2) 然后向下拖动填充柄,将公式复制到其他单元格。如截图所示,所有前导空格、尾随空格以及单词间的多余空格均已一次性清除:

从文本字符串中删除所有空格
如果您希望从文本字符串中彻底删除所有空格,以下 SUBSTITUTE 函数和“查找和替换”功能可助您轻松实现。
使用 SUBSTITUTE 函数
您可以使用 SUBSTITUTE 函数将所有空格替换为空,请在空白单元格中应用以下公式:
=SUBSTITUTE(A2," ","") 然后向下拖动填充柄,将此公式复制到所需单元格,所有空格将被删除,如下方截图所示:

使用查找和替换功能
实际上,Excel 中的“查找和替换”功能也可帮助您从所选单元格中删除所有空格,请按以下步骤操作:
1. 请选择您要从中删除所有空格的数据区域。
2. 然后单击“开始”>“查找和选择”>“替换”(或按 Ctrl + H 键),在弹出的“查找和替换”对话框中执行以下操作:
- 在“查找内容”字段中按下“空格键”;
- 在“替换为”字段中留空。

3. 然后单击“全部替换”按钮,即可一次性删除所选单元格中的所有空格。见截图:

通过使用一项强大功能从文本字符串中删除各类空格
“Kutools for Excel”提供了一项强大功能——“删除空格”。借助此工具,您只需一个对话框,即可轻松删除前导空格、尾随空格、多余空格,甚至一键清除所选区域中的所有空格,显著提升工作效率。
1. 选择包含空格的数据区域,然后单击“Kutools”>“文本”>“删除空格”。见截图:

2. 在“删除空格”对话框中,从“空格类型”下拉菜单中选择您要删除的空格类型:
- 删除前面的空格,并勾选“前面的空格”选项;
- 删除后面的空格,并勾选“后面的空格”选项;
- 同时删除前面的空格和后面的空格,并勾选“前导与后面的空格”选项;
- 删除所有多余空格,并勾选“所有多余的空格”选项;
- 删除所有空格,并勾选“全部空格”选项。

3. 随后单击“确定”或“应用”按钮,即可获得所需结果。
Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取
删除特定字符/特定字符前或后的文本
本节将介绍一些操作,用于删除特定字符首次、末次或指定出现位置之前或之后的文本或字符。
3.1 删除特定字符首次出现位置前或后的文本
如果您希望删除文本字符串列表中首次出现的特定字符(例如空格、逗号)之前或之后的内容(如下方截图所示),这里为您提供两种实用方法供参考。

使用公式删除文本字符串中第一个特定字符之前的内容
要删除首次出现的特定字符之前的所有文本或字符,可基于 RIGHT、LEN 和 FIND 函数创建公式,通用语法如下:
- “cell”:您要从中删除文本的单元格引用或文本字符串;
- “char”:您要用于删除文本的特定分隔符。
例如,要从列表字符串中删除首次出现逗号之前的所有内容,请在空白单元格中应用以下公式,然后向下拖动至所需单元格,见截图:
=RIGHT(A2,LEN(A2)-FIND(",",A2)) 注意:在上述公式中,“A2”为要删除文本的单元格;“,”为用于删除文本的特定字符,您可根据实际需求替换为其他字符。

使用公式删除文本字符串中第一个特定字符之后的内容
要删除首次出现的特定字符之后的所有内容,可结合 LEFT 和 FIND 函数获取结果,通用语法如下:
- “cell”:您要从中删除文本的单元格引用或文本字符串;
- “char”:您要用于删除文本的特定分隔符。
现在,请在空白单元格中输入以下公式,然后向下拖动填充柄至其他需要应用此公式的单元格,首次出现逗号之后的所有字符将被一次性删除,见截图:
=LEFT(A2,FIND(",",A2)-1) 
3.2 删除字符出现次数出现位置前或后的文本
有时,文本字符串中包含多个特定分隔符,您可能需要删除某个特定实例(例如第二次、第三次或第四次出现)之前或之后的所有字符。针对此类需求,可使用以下技巧:
使用公式删除字符出现次数出现位置前的文本
要删除特定字符出现次数出现位置前的文本,以下公式可帮您实现,通用语法如下:
- “cell”:您要从中删除文本的单元格引用或文本字符串;
- “char”:您要基于其删除文本的特定分隔符;
- “N”:表示在该字符第 N 次出现之前删除文本。
例如,若要从文本字符串中删除第二个逗号之前的所有内容,请使用以下公式:
=RIGHT(A2,LEN(A2)-FIND("#",SUBSTITUTE(A2,",","#",2))) 注意:在上述公式中,“A2” 是您要从中删除文本的单元格;“,” 是用于定位删除位置的特定字符,您可以根据需要将其替换为任意其他字符;“2” 表示您希望在第 n 个逗号之前删除文本,此处 n 为 2.
然后,拖动填充柄将公式复制到其他单元格,请参见截图:

使用公式删除字符出现次数之后的文本
要删除特定分隔符出现指定次数之后的文本,可借助 LEFT、SUBSTITUTE 和 FIND 函数轻松实现。通用语法如下:
- “cell”:您要从中删除文本的单元格引用或文本字符串;
- “char”:您要基于其删除文本的特定分隔符;
- “N”:表示在该字符第 N 次出现之后删除文本。
了解基本语法后,请将以下公式复制或输入到空白单元格中:
=LEFT(A2, FIND("#", SUBSTITUTE(A2, ",", "#", 2)) -1) 注意:在上述公式中,“A2” 是您要从中删除文本的单元格;“,” 是用于界定删除位置的特定字符,您可以根据需要将其替换为其他任意字符;“2” 表示从第 2 个逗号之后开始删除文本。
然后,拖动填充柄将公式复制到其他单元格,第二个逗号之后的所有字符将一次性被删除,请参见截图:

使用自定义函数删除字符出现次数之前或之后的文本
如您所见,通过灵活组合 Excel 的内置函数,即可轻松解决删除指定字符出现次数之前或之后文本的问题。但难点在于这些复杂公式不易记忆。为此,我将为您创建一个自定义函数,全面覆盖所有使用场景,请按以下步骤操作:
1. 按下“Alt + F11”组合键,即可打开“Microsoft Visual Basic for Applications”窗口。
2. 单击“插入”>“模块”,并将以下代码粘贴到弹出的模块窗口中。
VBA 代码:删除字符出现次数之前或之后的文本
Function RemoveTextOccurrence(Str As String, Delimiter As String, Occurrence As Integer, IsAfter As Boolean)
Dim xStr As String
Dim xStrLen, xF, xIntStart As Integer
xStr = Str
xStrLen = Len(xStr)
xIntStart = 1
For xF = 1 To Occurrence
xIntStart = InStr(xIntStart + 1, xStr, Delimiter, vbTextCompare)
If (xIntStart = 0) Or (xIntStart < 0) Then
If IsAfter Then
RemoveTextOccurrence = xStr
Else
RemoveTextOccurrence = ""
End If
Exit Function
End If
Next
If IsAfter Then
RemoveTextOccurrence = Mid(Str, 1, xIntStart - 1)
Else
RemoveTextOccurrence = Mid(Str, xIntStart + 1)
End If
End Function
3. 随后关闭并退出代码窗口,返回工作表,使用以下公式:
删除第二个逗号之前的所有文本:
=RemoveTextOccurrence(A2, ", ", 2, FALSE) 
删除第二个逗号之后的所有文本
=RemoveTextOccurrence(A2, ", ", 2, TRUE) 
3.3 删除字符最后一次出现之前或之后的文本
如果您需要删除特定字符最后一次出现之前或之后的所有文本,仅保留该字符前或后的子字符串,本节将为您提供相应的公式解决方案。

使用公式删除文本字符串中某个字符最后一次出现之前的内容
要删除字符最后一次出现之前的所有字符,通用语法如下:
- “cell”:您要从中删除文本的单元格引用或文本字符串;
- “char”:您要基于其删除文本的特定分隔符;
现在,如果您需要删除最后一个逗号之前的所有文本,请将以下公式复制或输入到空白单元格中:
=RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,",","#",LEN(A2)-LEN(SUBSTITUTE(A2,",",""))))) 注意:在上述公式中,“A2” 是您要从中删除文本的单元格;“,” 是用于删除文本的特定字符,您可以根据需要将其替换为任意其他字符。
然后,拖动填充柄将公式复制到其他单元格,最后一个逗号之前的所有字符将被删除,如下图所示:

使用公式删除文本字符串中某个字符最后一次出现之后的内容
如果单元格值由可变数量的分隔符分隔,且您希望删除该分隔符最后一次出现之后的所有内容,通用语法如下:
- “cell”:您要从中删除文本的单元格引用或文本字符串;
- “char”:您要基于其删除文本的特定分隔符;
请将以下公式复制或输入到空白单元格中,然后向下拖动填充柄以获取其他所需结果,请参见截图:
=LEFT(A2,FIND("#",SUBSTITUTE(A2,",>","#",LEN(A2)-LEN(SUBSTITUTE(A2,",",""))))-1) “注意”:在上述公式中,“A2” 是您要从中删除文本的单元格;“,” 是用于删除文本的特定字符,您可以根据需要将其替换为任意其他字符。

3.4 删除括号之间的文本
如果您有一组文本字符串,其中部分字符被括号包围,现在可能希望将括号及其内部的所有内容一并删除(如下图所示)。本节将为您介绍几种在 Excel 中高效完成此操作的实用技巧。

使用查找和替换功能删除括号之间的文本
在 Excel 中,内置的“查找和替换”功能可助您轻松定位所有括号内的文本,并将其替换为空白。请按以下步骤操作:
1. 请选择您希望删除括号内文本的数据列表。
2. 然后,单击“开始”>“查找和选择”>“替换”(或按 Ctrl + H 键),即可打开“查找和替换”对话框,并在其中执行以下操作:
- 在“查找内容”字段的文本框中输入“(*)”;
- 在“替换为”字段中留空。

3. 然后,单击“全部替换”按钮,即可一次性删除所选单元格中括号及其内部的所有字符。请参见截图:

提示:“查找和替换”功能同样适用于包含两对或多对括号的文本字符串。
使用公式删除文本字符串中括号之间的内容
除了查找和替换功能外,您还可以使用公式在 Excel 中完成此任务,通用语法如下:
- “text”:您要从中删除特定字符的文本字符串或单元格引用。
现在,请将以下公式复制或输入到您希望显示结果的空白单元格中:
=SUBSTITUTE(A2,MID(LEFT(A2,FIND(")",A2)),FIND("(",A2),LEN(A2)),"") 然后,向下拖动填充柄将公式应用到其他单元格,括号内所有文本(包括括号本身)将一次性被删除,请参见截图:

提示:若单元格值中不含括号,使用上述公式将导致错误。如需忽略该错误,请改用以下公式:
=IFERROR(SUBSTITUTE(A2,MID(LEFT(A2,FIND(")",A2)),FIND("(",A2),LEN(A2)),""),A2) 
使用用户自定义函数删除文本字符串中括号之间的内容
上述公式适用于删除一对括号中的文本,但若需删除文本字符串中多对括号内的内容,则无法正常运行。为此,我将创建一个简单的自定义函数来解决这一问题。
1. 按下“Alt + F11”组合键,即可打开“Microsoft Visual Basic for Applications”窗口。
2. 单击“插入”>“模块”,并将以下代码粘贴到弹出的模块窗口中。
VBA 代码:删除括号之间的文本
Function remtxt(ByVal str As String) As String
'Updateby Extendoffice
While InStr(str, "(") > 0 And InStr(str, ")") > InStr(str, "(")
str = Left(str, InStr(str, "(") - 1) & Mid(str, InStr(str, ")") + 1)
Wend
remtxt = Trim(str)
End Function
3. 返回工作表,在空白单元格中输入公式“=remtxt(A2)”,然后向下拖动填充柄以应用该公式。括号及其内部的所有文本将被删除,如下图所示:

从文本字符串中删除单词
在某些情况下,您可能需要从一组单元格中删除特定单词,例如首词、末词或重复出现的词语等。为此,本节将为您介绍几种高效的处理方法。
4.1 从文本字符串中删除第一个或最后一个单词
若要从一组文本字符串中删除首个或末尾的单词,以下公式或许能为您提供帮助。
使用公式从文本字符串中删除第一个单词
要从一组文本字符串中删除第一个单词,您可以基于 RIGHT、LEN 和 FIND 函数创建一个简单公式,通用语法如下:
- 您要从中删除首个单词的文本字符串或单元格引用。
现在,请将以下公式输入或复制到空白单元格中:
=RIGHT(A2,LEN(A2)-FIND(" ",A2)) 然后,向下拖动填充柄将公式应用到其他单元格,请参见截图:

提示:如果需要从单元格中删除前 N 个单词,请使用以下公式:
- “text”:您要从中删除前 n 个单词的文本字符串或单元格引用;
- “N”:表示您要从文本字符串开头删除的单词数量。
例如,要从单元格中删除前两个单词,请将以下公式复制或输入到空白单元格中以获得所需结果,请参见截图:
=MID(TRIM(A2),1+FIND("~",SUBSTITUTE(TRIM(A2)," ","~",2)),255) 
使用公式从文本字符串中删除最后一个单词
要从文本字符串中删除最后一个单词,您也可以使用公式来完成此任务,通用语法如下:
- “text”:您要从中删除最后一个单词的文本字符串或单元格引用;
请在空白单元格中使用以下公式,然后向下拖动填充柄将公式应用到其他单元格,请参见截图:
=LEFT(TRIM(A2),FIND("~",SUBSTITUTE(A2," ","~",LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ",""))))-1) 
提示:要从一组单元格中删除最后 N 个单词,通用语法如下:
- “text”:您要从中删除最后 n 个单词的文本字符串或单元格引用;
- “N”:表示您希望从文本字符串末尾删除的单词数量。
假设要从一组单元格中删除最后 3 个单词,请使用以下公式返回结果,请参见截图:
=LEFT(A2,FIND("~",SUBSTITUTE(A2," ","~",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))-(3-1)))) 
4.2 删除单元格内的重复字符或单词
当删除重复值或行时,Excel 提供了多种选项;但若需删除指定单元格内的重复字符或单词,却缺乏相应的内置功能。为此,本节将助您创建一些自定义函数,轻松攻克这一难题。
通过使用用户自定义函数删除单元格内的重复字符
如果单元格中包含多个相同字符,您可使用以下自定义函数,删除重复字符并仅保留首次出现的字符(如下图所示)。

1. 按下“Alt + F11”组合键,即可打开“Microsoft Visual Basic for Applications”窗口。
2. 单击“插入”>“模块”,并将以下代码粘贴到弹出的模块窗口中。
VBA 代码:删除单元格内的重复字符
Function RemoveDupeschars(pWorkRng As Range) As String
'Updateby Extendoffice
Dim xValue As String
Dim xChar As String
Dim xOutValue As String
Set xDic = CreateObject("Scripting.Dictionary")
xValue = pWorkRng.Value
For i = 1 To VBA.Len(xValue)
xChar = VBA.Mid(xValue, i, 1)
If xDic.Exists(xChar) Then
Else
xDic(xChar) = ""
xOutValue = xOutValue & xChar
End If
Next
RemoveDupeschars = xOutValue
End Function
3. 随后关闭代码窗口,返回工作表,在数据旁的空白单元格中输入公式 =RemoveDupeschars(A2),再将填充柄拖动至需应用此公式的其他单元格,具体操作请参见截图:
注意:“A2” 是您要从中删除重复字符的单元格。

提示:该函数区分大小写,因此小写字母与大写字母将被视为不同的字符。
通过使用用户自定义函数删除单元格内的重复单词
假设单元格中包含重复的单词或文本字符串,您希望删除其中所有重复项(如下图所示)。只需使用以下自定义函数,即可在 Excel 中轻松完成此操作。

1. 按下“Alt + F11”组合键,即可打开“Microsoft Visual Basic for Applications”窗口。
2. 单击“插入”>“模块”,然后将以下代码粘贴到模块窗口中。
VBA 代码:删除单元格内的重复单词
Function RemoveDupeswords(txt As String, Optional delim As String = " ") As String
'Updateby Extendoffice
Dim x
With CreateObject("Scripting.Dictionary")
.CompareMode = vbTextCompare
For Each x In Split(txt, delim)
If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
Next
If .Count > 0 Then RemoveDupeswords = Join(.keys, delim)
End With
End Function
3. 然后关闭代码窗口,返回工作表,在数据旁的空白单元格中输入公式 =RemoveDupeswords(A2,“, “),接着向下拖动填充柄,将公式应用到其他单元格。请参见截图:
注意:“A2” 是您要从中删除重复单词的单元格,逗号和空格(",")是用于分隔文本字符串的分隔符,您可以根据需要将其替换为其他分隔符。

提示:此函数不区分大小写,小写字母与大写字母将被视为相同字符。
4.3 将文本字符串截取为前 N 个单词
如果单元格中包含较长的文本,您可能希望将其截取为指定数量的单词——仅保留前 N 个单词,其余部分则自动删除。本节将为您介绍在 Excel 中实现这一操作的实用技巧。
使用公式将文本字符串截断为 N 个单词
要将文本字符串截取为前 N 个单词,您可以基于 LEFT、FIND 和 SUBSTITUTE 函数创建公式,通用语法如下:
- “text”:您要进行修剪的文本字符串或单元格引用;
- “N”:表示您要从给定文本字符串左侧保留的单词数量。
要完成此操作,请将以下公式复制或输入到空白单元格中:
=LEFT(A2,FIND("~",SUBSTITUTE(A2," ","~",B2))-1) 然后向下拖动填充柄,将此公式应用到其他单元格,请参见截图:

使用用户自定义函数将文本字符串截断为 N 个单词
除了上述公式外,您还可以创建一个用户自定义函数来完成此任务,请按以下步骤操作:
1. 按下“Alt + F11”组合键,即可打开“Microsoft Visual Basic for Applications”窗口。
2. 单击“插入”>“模块”,并将以下代码粘贴到弹出的模块窗口中。
VBA 代码:将文本字符串截取为前 N 个单词
Function GetNWords(StrWords As String, Num_of_Words As Integer) As String
'Updateby Extendoffice
Dim xArr
Dim xRes As String
Dim xF As Integer
xStr = StrWords
If (Num_of_Words < 1) Then
GetNWords = ""
Exit Function
End If
xArr = Split(xStr, " ")
xRes = ""
On Error Resume Next
For xF = 0 To UBound(xArr)
If Trim(xArr(xF)) <> "" Then
Num_of_Words = Num_of_Words - 1
If xRes = "" Then
xRes = Trim(xArr(xF))
Else
xRes = xRes & " " & Trim(xArr(xF))
End If
End If
If Num_of_Words = 0 Then Exit For
Next
If Num_of_Words = 0 Then
GetNWords = xRes & "..."
Else
GetNWords = xRes & "..."
End If
End Function
3. 随后关闭并退出代码窗口,返回工作表,在空白单元格中输入公式:=GetNWords(A2,B2),然后向下拖动填充柄将该公式应用到其他单元格,即可仅保留前指定数量的单词,如下方截图所示:

最佳办公效率工具
| 🤖 | KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 高级 LOOKUP:多条件 VLookup | 多值 VLookup | 跨多工作表 VLookup | 模糊查找…… | |
| 高级下拉列表:快速创建下拉列表 | 级联下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列…… | |
| 特色功能:网格聚焦 | 设计视图 |增强编辑栏 | 工作簿和表管理器 | 资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表发送邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 精选 15 工具集:12 文本工具(添加文本,删除特定字符,……)| 50+ 图表 类型(甘特图,……)| 40+ 实用公式(基于生日计算年龄,……)| 19 插入工具(插入二维码,从路径插入图片,……)| 12 转换工具(小写金额转大写,汇率转换,……)| 7 合并和拆分工具(高级合并行,分割单元格,……)|……更多 |
使用 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 应用高效协作的团队。
- 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
- 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
- 协同效果更佳— 在多个 Office 应用中实现高效协同
- 30 天全功能试用— 无需注册,无需信用卡
- 超值之选— 比单独购买插件更省钱