我有一张 Excel 数据表,是从 Internet Explorer 中的 html 表复制而来的。一列表值的末尾似乎都有一个空格,但Trim
无法删除它。当我使用特殊粘贴功能粘贴函数结果的值时Trim
,它末尾仍然有空格。
可能是其他类型的Trim
无法删除的空白字符吗?
答案1
160 号角色是不间断空格,一个看起来像空格但仍是单词一部分的字符,迫使相邻的单词保持在一起。您可以将它们转换为常规空格,然后使用 trim。
假设文本在 中A1
,使用:
=TRIM(SUBSTITUTE(A1, CHAR(160), " "))
答案2
如果它只有一个空格,我们假设该列是 A。
A1= "CELL A1 "
A2= "CELL A2 "
Then B1 would be =LEFT(A1, LEN(A1)-1)
Then B2 would be =LEFT(A2, LEN(A2)-1)
答案3
我建议选择整个工作表并使用 Replace (Ctrl+H) 将每个不间断空格 (NBSP) 替换为空格会更简单。这仍然会在单元格末尾留下空格,但避免从单元格中间删除 NBSP。您仍然需要 Trim,但这比 TRIM(SUBSTITUTE(...)) 更容易。
我以为我可以使用 Alt+160 输入 NBSP,但对我来说却行不通。我不得不使用“插入符号”将 NBSP 放入单元格,然后将其从那里复制出来并放入“查找内容”字段。
插入符号后,NBSP 是 4 下方第三行的空单元格。
如果这是一个重复的问题,您可以使用宏录制器保存替换。但是,编写一个宏可能会更好,它使用 FIND 在任何字符串中的任何位置定位 NBSP,然后根据其在字符串中的位置将其替换为空格或删除它。这个宏需要循环,直到 FIND 失败。
答案4
尝试 CLEAN(x) 函数 - 它可以清除所有这些垃圾,尤其是混合了 161、160 等的地方。