在 Excel 中,Trim函数用于去文本的前后空格和字符之间的空格,但在去字符之间的空格时,它不会把所有空格都去除,而是留下一个空格;如果要把字符之间的所有空格都去掉,需要用Substitute函数。
在 Excel 去空格时,常常会遇到一些顽固空格,用Trim函数或Clean函数都无法去除,此时需要用Substitute函数替换,如果用Substitute函数仍然无法去除,还需要与 Left、Right 与 Code 函数组合才能把空格去掉。另外,如果求和的数值带空格将无法求得正确的结果,这种情况需要先用TRIM函数把空格去掉,然后再求和。
一、Excel Trim函数的语法
1、表达式:TRIM(Text)
2、说明:
Text 为要去空格的文本;Trim函数可把文本前后所有空格都去掉,但如果要去掉文字之间的空格,它不会把全部空格都去掉,而是还留下一个。
二、Excel Trim函数的使用方法及实例
(一)去掉文本前后所有空格的实例
假如要把文本“ Excel 函数教程 ”前后的所有空格都去掉。双击 A1 单元格,把公式 =TRIM(" Excel 函数教程 ") 复制到 A1,按回车,返回“Excel 函数教程”;当前单元格为左对齐,文字靠左边,左边的空格不见了;单击“右对齐”图标,文字靠右边,右边的空格也不见了;操作过程步骤,如图1所示:
图1
(二)去掉文字之间空格的实例
1、假如要把文本“Excel 函数 教程”中的空格去掉。双击 B1 单元格,输入公式 =TRIM(A1),按回车,返回“Excel 函数 教程”;双击 B2,把公式 =SUBSTITUTE(A1," ","") 复制到 B2,按回车,返回“Excel函数教程”;操作过程步骤,如图2所示:
图2
2、公式说明:
A、公式 =TRIM(A1) 没有完全把“Excel 函数 教程”中的空格去掉,有空格之处都还留下一个空格。
B、公式 =SUBSTITUTE(A1," ","") 把“Excel 函数 教程”中所有空格都去除了;Substitute函数是一个替换字符函数,它在这里的意思是,用空文本 "" 把所有空格都替换掉。
三、Excel 顽固空格的去除方法(Trim函数不起作用的解决方法)
(一)去不除的空格能复制
1、双击 E2 单元格,输入公式 =TRIM(A2),按回车,A2 中的空格没有被去掉;双击 E2,把 TRIM 改为 CLEAN,按回车,A2 中的空格仍然还在;再次双击 E2,把 CLEAN(A2) 改为 SUBSTITUTE(A2," ",""),按回车,A2 中的空格依然还在;双击 A2,用鼠标选中一个空格,按Ctrl + C 复制,再双击 E2,选中被替换空格 " ",按 Ctrl + V 粘贴,按回车,则 A2 中的空格被替换掉;操作过程步骤,如图3所示:
图3
2、公式说明:
A、公式 =TRIM(A2) 与 =CLEAN(A2) 都不能把 A2 中的空格去掉,说明该空格不是普通的按空格键所产生的空格和非打印字符空格;Clean函数用于去掉非打印字符。
B、公式 =SUBSTITUTE(A2," ","") 中的被替换字符 " " 为按空格键输入时,不能替换 A2 中的空格,只有把 A2 中的空格复制到被替换字符中,才能把 A2 中的空格都替换。
提示:如果遇到用Substitute函数仍然不能把空格去除,可以按 Ctrl + H 打开“查找替换”窗口,把不能替换的字符复制到“查找内容”右边的输入框中,单击“全部替换”就能去除了。
(二)去不掉的空格不能复制
1、先查看空格的 ASCII 码;双击 B1 单元格,把公式 =CODE(LEFT(A1)) 复制到 B1,按回车,返回 63。然后用返回空格的 ASCII 码 63 作为条件把空格替换掉;双击 B2,把公式 =SUBSTITUTE(A1,IF(CODE(LEFT(A1))=63,LEFT(A1)),"") 复制到 B2,按回车,A1 中文本前面的所有空格都被去掉,A1 已经设置为居中对齐,文本因左边有空格而未居中,而 B2 中的文本已经居中,说明空格被去掉;操作过程步骤,如图4所示:
图4
2、公式说明:
A、公式 =CODE(LEFT(A1)) 中,LEFT(A1) 用于从 A1 的文本左边截取一个字符,然后用Code函数返回所截取字符的 ASCII 码,结果为 63。
B、公式 =SUBSTITUTE(A1,IF(CODE(LEFT(A1))=63,LEFT(A1)),"") 中,IF(CODE(LEFT(A1))=63,LEFT(A1)) 用于返回一个去不掉的空格,意思是:如果截取 A1 的文本左边一个空格,该空格的 ASCII 码等于 63,则返回该空格;CODE(LEFT(A1))=63 为 If 的条件,63 是在 B1 单元格中求出空格的 ASCII 码;最后用空文本("")替换 A1 中所有 ASCII 码为 63 的空格。
四、Excel Trim函数的扩展应用实例
(一)Left + Trim函数组合实现先去掉空格再截取
1、假如要把 A 列中的数字截取出来。双击 B1 单元格,把公式 =LEFT(A1,3) 复制到 B1,按回车,返回空文本;双击 B1,给 A1 加上Trim(),按回车,返回 2.5;选中 B1,把鼠标移到 B1 右下角的单元格填充柄上,鼠标变为加号后,双击左键,则截取出剩余单元格的数字;操作过程步骤,如图5所示:
图5
2、公式 =LEFT(TRIM(A1),3) 说明:
A、TRIM(A1) 用于去掉 A1 中“ 2.5升/瓶”左边的空格,它返回“2.5升/瓶”。
B、则公式变为 =LEFT("2.5升/瓶",3),最后用 Left 从左边第一个字符开始截取 3 个字符,恰好截得数字。
(二)Sum + Trim函数组合实现数值带空格的求和
1、假如要求销量之和,销量列中的数值为文本且前面带空格。双击 D9 单元格,输入公式 =SUM(D2:D8),按回车,返回 0;双击 D9,给D2:D8 加上 TRIM(),按 Ctrl + Shift + 回车,仍然返回 0;再次双击 D9,在 TRIM 前加 --,按 Ctrl + Shift + 回车,返回求和结果5336;操作过程步骤,如图6所示:
图6
2、公式 =SUM(--TRIM(D2:D8)) 说明:
A、公式 =SUM(--TRIM(D2:D8)) 为数组公式,因此需要按 Ctrl + Shift + 回车;D2:D8 以数组返回 D2 至 D8 中的全部数值。
B、则 TRIM(D2:D8) 变为 TRIM({" 569";" 638";" 897";" 528";" 830";" 982";" 892"}),接着,第一次从数组中取出第一个元素 "569",把它的空格去掉;第二次从数组中取出第二个元素 " 638",再把它的空格去掉;其它的以此类推,最后返回{"569";"638";"897";"528";"830";"982";"892"}。
C、则公式变为 =SUM(--{"569";"638";"897";"528";"830";"982";"892"}),进一步计算,把数组中的每个元素由字符型转为数值型,--用于把字符转为数值,它相当于Value函数。
D、则公式进一步变为 =SUM({569;638;897;528;830;982;892}),最后用 Sum 对数组中的所有元素求和。
提示:由于 D2:D8 中的数字为文本型,当在把公式复制到 D9 按回车后,如果再次双击 D9,此时会显示公式,按回车,不能再求和,因为 D9 的格式自动变为“文本”,要解决此问题,需要把 D9 的格式设置为“数值”,方法为:按 Ctrl + 1(需关闭中文输入法),打开“设置单元格格式”窗口,选择“数字”选项卡,再选择左边“数值”,如果不想保留小数位数,把“小数位数”设置为 0,最后单击“确定”即可。