EXCEL的替换查找功能,比你想象中强大1000倍-clean功能-
时间:2023-04-14 11:38:58
与早期版本相比,Excel 2010帮助文件提供了有关CLEAN函数的更多信息:“从文本中删除所有不可打印的字符。在从其他应用程序导入的包含可能无法在您的操作系统上打印的字符的文本上使用CLEAN。例如,您可以使用CLEAN删除一些低级计算机代码,这些代码经常出现在数据文件的开头和结尾,并且无法打印。“重要:CLEAN函数旨在从文本中删除7位ASCII代码(值0到31)中的前32个非打印字符。在Unicode字符集中……还有其他非打印字符(值127、129、141、143、144和157)。就其本身而言,CLEAN函数不会删除这些其他非打印字符。”实际上,CLEAN比此信息描述的功能更强大。为了自己证明这一点,请首先使用Excel的“数据系列”命令创建一个从1到255的值列。为此,请在单元格A1中输入值1;否则,请输入1。按住Ctrl和Shift,然后按向下箭头以将单元格A1作为活动单元格选择A列的其余部分;按Alt,E,I,S启动“系列”对话框;指定一个步进值1和一个终止值255; 然后按确定。输入公式以返回与单元格A1中的值关联的字符:B1:= CHAR(A1)现在,输入公式以清除单元格B1中的文本并返回已清除文本的长度。也就是说,如果CLEAN删除了该字符,则C列中的值为零;否则,为0。否则将为1。C1:= LEN(CLEAN(B1))现在,将范围B1:C1向下复制到列255。然后按列C对结果进行排序,这会将所有清除的项目分组在一起。这样做时,您会看到CLEAN肯定会清理字符1-31。但是,它也清除字符129、141、143、144和157…即使Excel的文档说不会。如果使用Excel 2003尝试此操作,将得到相同的结果。这样只剩下两个CLEAN无法处理的特殊字符:CHAR(127)和CHAR(160)。要删除CHAR(127),可以使用以下公式(假设您的文本位于单元格B127中):= SUBSTITUTE(B127,CHAR(127),””)CHAR(160)是非空格字符,在Web上广泛使用。要处理此字符,我们通常需要将其替换为一个空格,然后将多个空格替换为一个空格。假设原始文本在单元格D5中,我们可以使用以下公式:= TRIM(SUBSTITUTE(D5,CHAR(160),”“))另外,当然,您可以使用Excel的“查找和替换”命令来替换这些字符中的任何一个。为此,您需要生成字符,以便可以在对话框中使用它。一种实现方法是首先 在任何单元格中键入…= CHAR(160)……。然后按F9 而不按Enter。这样做时,Excel会在公式栏中将公式更改为一个值,然后选择该值。现在按Ctrl + C复制该选择。然后按ESC键返回到就绪模式。启动Excel的“查找和替换”对话框;将复制的字符粘贴到“查找内容”编辑框中;在“替换为”编辑框中输入一个空格;然后选择全部替换。最后,要用一个空格替换多个空格,请使用“查找并替换”用一个空格替换两个空格。多次运行此命令,直到Excel告诉您找不到多个空格。