Excel中去除多余空格有五种方法:一、TRIM函数清除首尾及中间重复空格;二、SUBSTITUTE函数替换特殊空格如CHAR(160)或全角空格;三、“查找和替换”一键删半角空格;四、Power Query批量修剪与替换;五、VBA宏一键清除所有类型空格。

如果您在Excel中处理文本数据时发现单元格内存在多余的空格,导致排序、匹配或公式计算异常,则可能是由于人工输入、数据导入或复制粘贴引入了不可见的首尾空格或中间多余空格。以下是去除这些空格的具体操作方法:
一、使用TRIM函数清除首尾空格及中间重复空格
TRIM函数专用于删除文本字符串开头和结尾的所有空格,并将文本中间的多个连续空格缩减为单个空格。它不删除非断行符的其他不可见字符(如CHAR(160)不间断空格)。
1、在目标单元格右侧空白列中输入公式:=TRIM(A1)(假设原始数据在A1单元格)。
2、按Enter键确认,结果将显示已清理空格的文本。
3、选中该结果单元格,拖拽填充柄向下复制公式至其他行,批量处理整列数据。
4、选中所有含公式的单元格,按Ctrl+C复制;再右键选择“选择性粘贴”→“数值”,覆盖原公式为纯文本结果。
二、使用SUBSTITUTE函数精准替换特定空格类型
SUBSTITUTE函数可定位并替换指定字符,适用于处理TRIM无法识别的特殊空格(例如全角空格、不间断空格CHAR(160)等)。
1、判断空格类型:在空白单元格输入公式=CODE(MID(A1,1,1)),查看首字符ASCII码;若返回160,说明是不间断空格。
2、对CHAR(160)空格执行替换:输入公式=SUBSTITUTE(A1,CHAR(160),"")。
3、对全角空格(Unicode 12288)替换:输入公式=SUBSTITUTE(A1,UNICHAR(12288),"")。
4、如需同时清除多种空格,可嵌套使用:例如=TRIM(SUBSTITUTE(SUBSTITUTE(A1,CHAR(160)," "),UNICHAR(12288)," "))。
三、通过“查找和替换”功能一键清除空格
此方法无需公式,直接修改原单元格内容,适合小范围快速清理,但无法区分空格类型,仅对标准ASCII空格(CHAR(32))有效。
1、选中需要处理的数据区域(可为整列或指定区域)。
2、按Ctrl+H打开“查找和替换”对话框。
3、在“查找内容”框中按空格键一次,确保只输入一个半角空格。
4、将“替换为”框留空,不输入任何字符。
5、点击“全部替换”按钮,Excel将移除所选区域内所有半角空格。
四、使用Power Query批量清洗空格(适用于Excel 2016及以上版本)
Power Query支持可视化操作,可一次性处理多列、保留原始结构,并自动记忆步骤用于后续刷新,适合重复性数据清洗任务。
1、选中数据区域,点击“数据”选项卡→“从表格/区域”,勾选“表包含标题”,点击“确定”进入Power Query编辑器。
2、在查询设置窗格中,右键点击需清洗的列名,选择“转换”→“修剪”。
3、如需进一步清除所有空格(包括中间),点击该列→“转换”→“替换值”,在“要查找的值”中输入一个空格,“替换为”留空。
4、点击“关闭并上载”,清洗后的数据将作为新表插入当前工作簿。
五、利用VBA宏自动执行空格清理
VBA可实现一键清除指定区域内的所有空格(含首尾、中间、全角、不间断空格),适合高频、大批量、定制化清理需求。
1、按Alt+F11打开VBA编辑器,插入新模块。
2、粘贴以下代码:
Sub RemoveAllSpaces()
Dim rng As Range, cell As Range
Set rng = Selection
For Each cell In rng
If Not IsEmpty(cell) Then
cell.Value = Application.Trim(Replace(Replace(cell.Value, Chr(160), " "), ChrW(12288), " "))
End If
Next cell
End Sub
3、返回Excel,选中待处理区域,按Alt+F8运行宏“RemoveAllSpaces”。










