Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 17954|回复: 69

[函数] (分享)函数技巧之文本处理

[复制链接]
发表于 2007-8-25 07:00 | 显示全部楼层 |阅读模式
<p><font size="5">字符串转换技巧三则</font></p><p><font color="#2b4dd5">&nbsp;&nbsp; <font size="4">英文字母大小写转换</font></font></p><p>&nbsp;&nbsp; 假设A1存放着字符"i love excEL",下面的公式将A1的英文字母全部转为大写。</p><p>&nbsp; =UPPER(A1)得到"I&nbsp; LOVE EXCEL"</p><p>下面的公式将A1的英文字母全部转为小写</p><p>&nbsp;=LOWER(A1) 得到"i love excel"</p><p>下面的公式将A1的英文单词首字母及任何非字母字符之后的首字母转为大写,其余的字母转换成小写</p><p>=PROPER(A1) 得到"I Love Excel"</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p><font size="5">附件在三楼</font></p>
[此贴子已经被作者于2007-8-27 9:26:17编辑过]
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2007-8-25 07:00 | 显示全部楼层

<p>字符与ANSI字符代码转换</p><p>&nbsp;&nbsp;&nbsp; 下面的公式将A1单元格中的第一个字符转换为ANSI字符代码。</p><p>&nbsp; =CODE(A1)</p><p>&nbsp;下面的公式得到大写字母A的ANSI代码65。</p><p>CODE("A")</p><p>下面的公式将一个代表字符的ANSI代码转换为字符,如</p><p>=CHAR(65)得到大写字母A&nbsp; </p><p>&nbsp;</p><p>&nbsp;&nbsp; </p><p><font size="5">附件在三楼 </font></p>
[此贴子已经被作者于2007-8-25 7:42:52编辑过]
回复

使用道具 举报

 楼主| 发表于 2007-8-25 07:01 | 显示全部楼层

<p>半角与全角的转换</p><p>&nbsp;&nbsp; 假设A1单元格中的字符是"I&nbsp;L O V E E X C E L ",下面的公式将从A1中的全角(双字节)字符返回半角(单字节)字符,得到“I LOVE EXCEL”。</p><p>=ASC(A1)</p><p>反之,若A1存放字符"I Love Excel",则下面的公式将改半角字符为全角字符,返回"I L o v e E x c e l ".</p><p>=WIDECHAR(A1)</p><p></p><br/>
[此贴子已经被作者于2007-8-25 7:42:03编辑过]
回复

使用道具 举报

 楼主| 发表于 2007-8-25 07:02 | 显示全部楼层

<p><font color="#f73809" size="5">重复文本技巧二则</font></p><p><font color="#000000" size="5">&nbsp;&nbsp; 函数REPT(text,number_times)用来将特定字符按给定的次数重复填充。</font></p><p>&nbsp;</p>
[此贴子已经被作者于2007-8-25 7:18:51编辑过]
回复

使用道具 举报

 楼主| 发表于 2007-8-25 07:02 | 显示全部楼层

<p><font color="#ff0000" size="5">填充字符</font></p><p><font color="#ff0000" size="5">&nbsp; <font color="#000000" size="4">例:要将A列存放的数字转化为10位数的编码,原位数不足的在前面补0。</font></font></p><p><font size="4">=RIGHT(REPT(0,10)&amp;A1, 10)</font></p><p><font size="4">&nbsp;&nbsp; 而下面的公式可以除了将数字转化以"NO",开头的编码外,还用空格填充不足10位的位数以达到右对齐的显示效果</font></p><p><font size="4">&nbsp;&nbsp; ="NO."&amp;REPT(" ",10-LEN(A1))&amp;A1</font></p><p><font size="4"></font>&nbsp;</p><p><font size="4"></font>&nbsp;</p><p><font size="4"><font size="5">&nbsp; 附件在六楼</font> </font></p>
[此贴子已经被作者于2007-8-25 7:43:28编辑过]
回复

使用道具 举报

 楼主| 发表于 2007-8-25 07:02 | 显示全部楼层

<p><font color="#ff0000" size="5">制作文本直方图</font></p><p><font color="#ff0000" size="5">&nbsp;&nbsp; <font color="#000000" size="3">利用REPT函数,还可以在不创建EXCEL图表的情况下制作一个块状的直方图.</font></font></p><p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp; 如附件中,在A2:C13中存放着每月计划进度和实际进度的数据,在D2中输入下面的公式并设置格式为百分比得到进度对比数据.</font></p><p><font size="3">&nbsp;&nbsp; =IF(B2&lt;&gt;0,(C2-B2)/B2,0)</font></p><p><font size="3">或者可以简化为:</font></p><p><font size="3">&nbsp; =IF(B2,(C2-B2)/B2,0)</font></p><p><font size="3">&nbsp; 在F2,H2中分别输入下面的个公式,可将D列的每个百分点转为一个小方块.如果需要每10个百分点做一个小方块,则将D2*100改为D2*10即可.</font></p><p><font size="3">&nbsp;&nbsp;</font><font size="5">=IF(D2&lt;0,REPT("■",-ROUND(D2*100,0)),"")</font></p><p>&nbsp;<font size="4"> </font><font size="5">=IF(D2&gt;0,REPT("■",ROUND(D2*100,0)),"")</font></p><p><font size="5">&nbsp; 将F2,H2的公式向下填充,然后设置F~H列的填充色,字体颜色以及对齐方式,一个漂亮简单的文本直方图就完成了 </font></p><p>&nbsp;</p><br/>
[此贴子已经被作者于2007-8-25 7:40:32编辑过]
回复

使用道具 举报

 楼主| 发表于 2007-8-25 07:02 | 显示全部楼层

<p><font color="#f73809" size="5">字符串比较及清理垃圾字符</font></p><p><font color="#f73809" size="5">&nbsp;&nbsp;&nbsp; <font color="#000000" size="3">在EXCEL中针对某些数据进行查找与引用操作时,表面看起来相同阿字符串,却经常无法查询到相匹配的结果,这往往是因为目标字符串与关键字不符导致的.</font></font></p><p><font size="3">&nbsp;&nbsp; 假设A1="John&nbsp; smith",B1="John&nbsp; Smith",下面的公式将对两个字符串进行比较.</font></p><p><font size="3">=A1=B1&nbsp;&nbsp; 公式返回TRUE.</font></p><p><font size="3">=EXACT(A1,B1)公式返回FALSE,这事因为该函数区分大小写.</font></p><p><font size="3">&nbsp;&nbsp;&nbsp; 若B1="John&nbsp;&nbsp; smith",则两个公式都将返回FALSE.这事因为B1的两个单词中间有两个空格,而A1只有一个.这种情况常常发生于手工输入时.用TRIM函数将消除字符串中多余的空格,下面两个公式都将返回TRUE.&nbsp; </font></p><p><font size="3">&nbsp; =A1=TRIM(B1)</font></p><p><font size="3">&nbsp; =EXACT(A1,TRIM(B1))</font></p><p><font size="3">&nbsp;&nbsp; 另外,从一些数据库软件导入的EXCEL文件中经常夹杂着肉眼难辨认的非打印字符,这些符号的存在更易造成查找引用,统计等下一步有关运算的错误,因此也被称为"垃圾字符".这些字符可以用CLEAN函数清除.</font></p><p><font size="3">&nbsp; 如A1单元格的内容为".你好."两个圆点是非打印字符,用下面的公式可返回"你好".</font></p><p><font size="3">&nbsp; =CLEAN(A1)</font></p><br/>
[此贴子已经被作者于2007-8-27 8:15:15编辑过]
回复

使用道具 举报

 楼主| 发表于 2007-8-25 07:02 | 显示全部楼层

<p><font color="#f70909" size="5">替换字符 </font></p><p><font color="#f70909" size="5">&nbsp;&nbsp; <font color="#000000" size="3">在许多时候,可能需要对某个文本字符串中的部分内容进行替换,除了使用EXCEL的"替换"功能外,还可以使用文本替换函数.常用的文本替换函数为SUBSTITUTE函数和REPLACE函数,它们的语法分别是:</font></font></p><p><font size="3">&nbsp;&nbsp; SUBSTITUTE(text,old_text,new_text,instance_num)</font></p><p><font size="3">&nbsp;&nbsp; REPLACE(old_text,start_num,num_shars,new_text)</font></p><p><font size="3">&nbsp;&nbsp; 如果明确知道目标字符,但是不知道其在字符串中的具体位置,可以使用SUBSTITUTE函数.</font></p><p><font size="3">&nbsp;&nbsp; 例一:A1单元格内容为"教师 职别 档次",下面的公式将去除文本字符串中的两个空格,返回"教师职别档次".</font></p><p><font size="3">&nbsp; =SUBSTITUTE(A1"&nbsp;","")</font></p><p><font size="3">&nbsp; 例二:A1单元格的内容为"我爱EXCELPX,我爱EXCEL!",下面的公式可以将第二个"爱"替换为"喜欢",返回"我爱EXCELPX,我喜欢EXCEL".</font></p><p><font size="3">&nbsp; =SUBSTITUTE(A1,"爱","喜欢",2)</font></p><p><font size="3">&nbsp; 如果目标字符并不固定,但能够明确知道其在字符串中的具体位置,可以使用REPLACE函数来实现替换.</font></p><p><font size="3">&nbsp; 例三:A1单元格的内容为"EXCEL-PX.com",下面的公式可以用一个空字符串替换第6个字符,即删除"-",返回结果为"EXCELPX.com".</font></p><p><font size="3">=REPLACE(A1,6,1,"")</font></p><p><font size="3">&nbsp; REPLACE函数还有个妙用,就是可以在字符串的指定位置插入字符.</font></p><p><font size="3">&nbsp; 例四:A1单元格的内容为"A123</font><font size="3">456789",用下面的公式可以在原字符串第5个字符前插入字符串"abc",得到"A123abc456789".</font></p><p><font size="3">&nbsp; 以上函数还可以通过嵌套,让它们在公式中执行多重替换的任务,如下面的公式可以清除A1单元格中的数字0~7</font></p><p><font size="3">&nbsp; =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,0,),1,),2,),3,),4,),5,),6,),7,)</font></p><br/>
[此贴子已经被作者于2007-8-27 8:17:04编辑过]
回复

使用道具 举报

 楼主| 发表于 2007-8-25 07:03 | 显示全部楼层

<p><font color="#f70909" size="5">查找字符 </font></p><p><font color="#f70909" size="5">&nbsp;&nbsp; <font color="#000000">精确查找指定字符在一个字符串中的位置是EXCEL函数运用中的一项重要技巧,尤其是在截取字符串,替换字符串等文本处理过程中,精确定位技术更是必不可少.查找字符的主要函数是FIND函数和SEARCH函数,两者的语法完全相同:</font></font></p><p><font size="5">&nbsp; FIND(find_text,within_text,start_num)</font></p><p><font color="#f70909" size="5">&nbsp;&nbsp;<font color="#000000">SEARCH(find_text,within_text,start_num)</font></font></p><p><font size="5">&nbsp;&nbsp; 主要区别在于:FIND函数支持大小写区分但是不支持通配符,SEARCH函数不支持大小写区分但是支持通配符.</font></p>
[此贴子已经被作者于2007-8-25 8:52:08编辑过]
回复

使用道具 举报

 楼主| 发表于 2007-8-25 07:03 | 显示全部楼层

<p><font color="#ff0000" size="5">目标字符在字符串中第一次出现的位置</font></p><p><font color="#ff0000" size="5">&nbsp;&nbsp; <font color="#000000" size="3">下面的公式都将返回字符"e"在A1中第一次出现的位置</font></font></p><p><font size="3">&nbsp;&nbsp; =FIND("e",A1)</font></p><p><font size="3">&nbsp; =SEARCH("e",A1)</font></p><p><font size="3">&nbsp;&nbsp;&nbsp; 如果A1的内容为"EXCEL PX",则=FIND("e",A1)返回的值是4,因为FIND()区分大小写;而=SEARCH("e"A1)返回的值是1,因为它不区分大小写.</font></p><p><font size="3">&nbsp;&nbsp; 下面的公式将返回字符"a"在A1的字符串中第一次出现的位置的前一个位置.</font></p><p><font size="3">&nbsp;&nbsp; =FIND("a",A1)-1</font></p><p><font size="3">&nbsp;&nbsp; =SEARCH("?a",A1)</font></p>
[此贴子已经被作者于2007-8-25 9:05:25编辑过]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-19 18:03 , Processed in 0.290461 second(s), 3 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表