跳至内容
Excel
数据分析

在 Excel 中使用 TRIM() 函数:修复任何空格问题

了解 TRIM() 函数如何删除多余空格并清理数据。将其与 SUBSTITUTE()、CLEAN() 和 VALUE() 等函数组合,解决各种格式问题。
Laiba Siddiqui's photo
Laiba Siddiqui
已更新 · 6分钟 阅读

使用 AI 探索

ChatGPTClaudePerplexity

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续
继续操作即表示您接受我们的《使用条款》和《隐私政策》,并同意您的数据存储在美国。

如果您是一名数据分析师或数据科学家,您很可能遇到过一些小问题,最后却发展成大麻烦。Excel 中的一个常见问题就是数据里存在多余的空格。它们会扰乱结果并导致意想不到的错误。有时,两个看起来完全相同的值仅仅因为隐藏空格就无法匹配。

为了解决这个问题,Excel 提供了 TRIM() 函数,它会删除所有多余的空格,只在单词之间保留一个空格。这样可使数据更干净、更易处理。

快速答案

Excel 中的 TRIM() 函数会删除文本中间、开头和结尾的所有空格,仅在单词之间保留一个空格。

=TRIM(text) 

假设在单元格A2 中有一个全名,名和姓之间有多余空格。请使用以下公式:

=TRIM(A2)

在 Excel 中使用 TRIM 函数。

使用 TRIM() 函数。图片作者自制。

Excel TRIM() 函数的用法与示例

下面通过示例学习 TRIM() 如何清理多余空格并修复格式问题。

使用 TRIM() 清理导入的数据

有时从外部来源导入到 Excel 的数据会变得混乱。经常会夹杂许多多余空格,从而影响排序、筛选,甚至是简单计算。

假设我有一份客户信息数据集,空格不一致,我想一次性删除多余空格。为此,我在单元格C2 中输入以下公式,然后双击填充柄将公式应用到所有单元格:

=TRIM(A2)

在 Excel 中使用 TRIM 函数删除所有多余空格。

使用 TRIM() 删除多余空格。图片作者自制

在数字上使用 TRIM()

TRIM() 只对文本有效。如果将其用于数字,Excel 仍会将结果视为文本,这在进行计算时可能引发问题。

在 Excel 中对数值使用 TRIM。

TRIM() 将数值视为文本。图片作者自制。

在上面的示例中,我们可以看到 TRIM() 清理了空格,但有两点不对劲:

  • 首先,数字是左对齐而不是右对齐。在 Excel 中,数字通常右对齐。

  • 其次,状态栏只显示 COUNT(),当我尝试用 SUM() 求和时,返回为 0。

为了解决这个问题,我们可以把 TRIM() 包在 VALUE() 函数里,如下:

=VALUE(TRIM(A2))

这个额外步骤会将修剪后的文本转换回数字。

在 VALUE 函数中嵌套 TRIM 以修复 Excel 中的数值。

将 TRIM() 嵌入 VALUE()。图片作者自制。

使用 TRIM() 移除分隔符

如果我们需要从文本中移除特定分隔符,可以使用 SUBSTITUTE() 函数。比如,我的文本里有逗号,但我不想要它们。我可以使用以下公式:

=SUBSTITUTE(A2,",","")

仅此一步可以去掉逗号,但不会删除它们周围的多余空格。因此,为了更严谨,我将 SUBSTITUTE() 与 TRIM() 搭配使用:

=TRIM(SUBSTITUTE(A2,",",""))

结合 SUBSTITUTE 和 TRIM 在 Excel 中移除分隔符。

组合使用 SUBSTITUTE() 和 TRIM()。图片作者自制

Excel 的 Trim() 函数进阶技巧

除了基础用法外,TRIM() 还可以与其他 Excel 函数组合执行更高级的操作。

使用 TRIM() 删除不可打印字符

有时数据中可能存在 TRIM() 无法处理的不可打印字符。因此我会使用 CLEAN() 函数,并将其包装在 TRIM() 中。

=TRIM(CLEAN(A1))

其中,TRIM() 清理多余空格,CLEAN() 则移除不可打印字符。

在 Excel 中使用 TRIM 和 CLEAN 删除不可打印字符。

清理不可打印字符。图片作者自制。

使用 TRIM() 统计单元格中的单词数

我们还可以使用 TRIM() 来统计单元格中的单词数量。请看下面的公式:

=LEN(TRIM(A1)) - LEN(SUBSTITUTE(TRIM(A1), " ", "")) + 1 

其中,TRIM(A1) 删除多余空格,LEN(TRIM(A1)) 统计清理后文本的所有字符(包括空格),而 LEN(SUBSTITUTE(TRIM(A1), " ", "")) 去除所有空格,仅统计实际字符数。然后,为得到单词数,将不含空格的字符数从总字符数中相减。由于单词数总是比空格数多 + 1,因此公式中的 + 1 给出了最终的词数。

使用 TRIM 统计单元格中的单词数。

使用 TRIM() 统计单元格中的单词数。图片作者自制。

但该公式对于空白单元格会返回1。为避免这种情况,我对上式稍作调整,使其返回0:

=IF(A2="", 0, LEN(TRIM(A2))-LEN(SUBSTITUTE(A2," ",""))+1)

在 Excel 中将空白单元格的词数计为 0。

统计单词并处理空白单元格。图片作者自制。

使用 TRIM() 处理不间断空格

TRIM() 会删除空格,但不会删除不间断空格。这些空格看起来像普通空格,但行为不同,因为它们是一个独特的 Unicode 字符,在 7 位 ASCII 中的值为160。您可能会在从网站复制的文本中发现它们。

=TRIM(SUBSTITUTE(A1, CHAR(160), " "))

这里,CHAR(160) 将不间断空格替换为普通空格,然后 TRIM() 删除多余空格。

在 Excel 中使用 TRIM 和 SUBSTITUTE 删除不间断空格。

使用 TRIM() 和 SUBSTITUTE() 删除不间断空格。图片作者自制。

常见问题与解决方案

尽管 TRIM() 是个简单的函数,但我在使用时也遇到过一些问题。有时它不会按预期工作并报错。下面来看一些常见问题以及我的修复方法。

修复 #VALUE! 错误

如果在使用 TRIM() 后出现#VALUE! 错误,原因很可能是将该函数应用到了数值而非文本。要修复它,我会先检查数据是否为文本。如果需要清理数字中的空格,我会将 TRIM() 包在 VALUE() 中,如上所述。这样,TRIM() 删除多余空格,VALUE() 再将其转换回数字。

在大型数据集上修复性能问题

如果在大型数据集上使用 TRIM(),Excel 可能会变卡,因为每次更改表格都会重新计算每一行。为此,尽可能在导入前进行清理;或者在应用 TRIM() 后,复制已清理的列并以数值形式粘贴(Ctrl + Alt + V > 选择性粘贴数值)。这样可以移除公式,提升性能。

修复特殊字符相关问题

TRIM() 只处理 ASCII(7 位编码)中代码为32 的字符。因此要检查隐藏字符,我会使用 CODE() 函数:

  • 查找第一个字符的代码:=CODE(LEFT(A1,1))。

  • 检查最后一个字符:=CODE(RIGHT(A1,1))。

  • 查看特定位置:=CODE(MID(A1, n, 1))(将n替换为位置编号。)

例如,我有一组示例数据,在第一个单元格中,该字符位于文本右侧,因此我使用以下公式检查该字符的代码:

=CODE(RIGHT(A2))

现在我知道该字符是162,因此可以轻松用 SUBSTITUTE() 和 TRIM() 将其移除,如下:

=TRIM(SUBSTITUTE(A2, CHAR(162), " "))

在 Excel 中使用 CODE、SUBSTITUTE 和 TRIM 删除特殊字符。

使用 CODE()、SUBSTITUTE() 和 TRIM() 删除特殊字符。图片作者自制。

处理修剪后的数据未更新

有一次,我应用了 TRIM(), 但没有任何变化。重新检查后,我发现 Excel 处于手动计算模式,因此公式没有更新。为了解决这个问题,我转到“公式” > “计算选项”,并将其设置为“自动”。然后,公式就正常生效了。

结语

现在您已经了解,TRIM() 函数能删除 Excel 中的多余空格并避免计算问题。因此,无论您是在导入数据还是在移除隐藏或特殊字符,都无需逐个修复问题。相反,请将 TRIM() 与 SUBSTITUTE()、CLEAN() 和 VALUE() 等函数结合使用,以获得最佳效果。

要进一步提升您的 Excel 技能,请查看我们的 Data Preparation in Excel 课程。它将帮助您轻松清理并整理数据。掌握这些之后,再来看看我们的 Data Visualization in Excel 课程,学习如何将原始数据转化为清晰的可视化洞见。


Laiba Siddiqui's photo
Author
Laiba Siddiqui
LinkedIn
Twitter

我是内容策略专家,热衷于将复杂主题化繁为简。我曾帮助 Splunk、Hackernoon 和 Tiiny Host 等公司为其受众打造兼具吸引力与信息量的内容。

Excel Trim() 常见问答

在使用 TRIM() 之前,如何检查单元格是否包含多余空格?

在使用前要计算单元格中的多余空格,可使用以下公式:```=LEN(A1)-LEN(TRIM(A1))```

若返回值大于 0,则表示单元格存在多余空格。

如何只删除前导空格并保留单词间空格?

若只想删除前导空格并保留单词间的空格,请使用以下公式:

=MID(A2,FIND(MID(TRIM(A2),1,1),A2),LEN(A2))

它会找到第一个非空格字符,并从该位置开始保留后续全部内容,单词间空格将被保留。

能否使用 Excel 的“查找与替换”工具删除单词之间的多余空格?

可以,步骤如下:

  • 选择数据范围。
  • 按 Ctrl + H 打开“查找与替换”。
  • “查找内容”中输入两个空格。
  • “替换为”中输入一个空格。
  • 点击“全部替换”,重复操作,直到弹窗显示“找不到要替换的内容”。

能否同时将每个单词首字母大写并修剪空格?

可以,您可以使用 PROPER(TRIM(A2)) 来删除多余空格的同时,将每个单词的首字母大写。这样即可同时清理并完美格式化文本。

主题
Excel
数据分析

通过 DataCamp 学习 Excel

学习路径

数据分析 使用 Excel Power Tools

9 小时
使用 Excel Power Tools 提升你的 Excel 技能: 掌握 Power Query、Power Pivot 和动态 M 语言。
查看详情开始课程

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续
继续操作即表示您接受我们的《使用条款》和《隐私政策》,并同意您的数据存储在美国。
查看更多