2024年5月30日发(作者:)
字符转换技巧四则
大小写字母转换
本技巧主要涉及与英文字母大小写有关的三个函数,LOWER、UPPER和PRORER。
LOWER函数:将一个文本字符串中的所有大写英文字母转换为小写字母,对于文本中的非
字母的字符不作改变。
如公式:
=LOWER("I Love ExcelHome!")
运算结果为:i love excelhome!
UPPER函数的作用与LOWER函数恰恰相反:将一个文本字符串中的所有小写英文字母转
换为大写字母,对于文本中的非字母的字符不作改变。
如公式:
=UPPER("I Love ExcelHome!")
运算结果为:I LOVE EXCELHOME!
PROPER函数:将文本字符串的首字母及任何非字母字符(包括空格)之后的首字母转换
成大写,将其余的字母转换成小写。即实现通常意义下的英文单词首字母大写。
如公式:
= PROPER("I LOVE excelhome!")
运算结果为:I Love Excelhome!
全角半角字符转换
在简体中文环境下,英文字母、数字、日文片假名字符和某些标点符号包含了“全角”和“半
角”两种不同的形态,例如“<123ABC>”都是半角字符,而“<123ABC>”则都是全角
字符。半角字符只占用一个字节位置,而全角字符则占用两个字节位置。
而中文字符、中文的标点符号如顿号(、)句号(。)书名号(《》)等以及一些特殊符号,是
固有的双字节字符,没有全半角之分。
1
要在半角字母和全角字母之间互相转换,可以使用WIDECHAR函数和ASC函数。
WIDECHAR函数:在简体中文环境下,将字符串中的半角(单字节)字符转换为全角(双
字节)字符。
如公式:
=WIDECHAR("Excelhome")
运算结果为:Excelhome
ASC函数:与WIDECHAR函数相反,将全角(双字节)字符转换为半角(单字节)字符,
对其他字符不作任何更改。
如公式:
=ASC("我爱《Excel精粹》")
运算结果为:我爱《Excel精粹》
利用英文字母和数字包含全半角两种形态的特性,可以对一些中英文数字混排的字符串进行
识别和处理。
例如,假定A2单元格中包含字符串“知名的ExcelHome论坛”,要在B2单元格中输入公
式来求取字符串中所包含的英文字母个数,可以使用以下的公式:
=LENB(WIDECHAR(A2))-LENB(A2)
思路解析:
LENB函数返回字符串的字节数目,使用WIDECHAR函数转换为全角字符后,英文字符的
字节数会增加一倍,而中文字符字节数没有变化。转换前与转换后的字节数相减即可得到英文字
符的个数。
如果A2单元格的字符串中包含全角字符,如“知名的ExcelHome论坛”,则B2单元
格中的公式可以稍作修改:
=LENB(WIDECHAR(A3))-LENB(ASC(A3))
此公式思路与前面相似,且通用性更强。
图 1-1 混排字符串求取字符数
生成A-Z序列
在工作中经常需要在某列生成A、B、C……Z这26个英文字母的序列,利用CHAR函数
可以生成这样的字母序列:
如在A1单元格输入如下公式:
2
=CHAR(ROW()+64)
向下并将公式向下复制到A26单元格。
公式直接用CHAR函数产生在ANSI字符集中的对应代码为65~90的字符。
生成可换行的文本
图 1-2 原始数据表
图 1-2中,A列为人员姓名,B列为对应的邮件地址清单,现要求把两列数据合并成为一列
字符串,并且将姓名和邮件地址分两行显示,结果存放在C列中。完成这样的要求可按以下步
骤操作:
步骤1 在C2单元格输入公式:
=A2&CHAR(10)&B2
步骤2
步骤3
把公式向下复制填充到C12单元格
选定单元格区域C2:C12,在菜单功能区的“开始”选项卡中单击“自动换行”命
令按钮,完成换行设置,结果如图1-3所示。
3
图 1-3 合并后自动换行的字符串
公式解析:
ANSI字符集中代码10的对应字符为换行符,可以用CHAR函数将此ANSI代码转换为实
际字符,加入到字符串中起到强制换行的作用。
本篇文章节选自《Excel 2007实战技巧精粹》
ISBN:9787115218360
人民邮电出版社
4


发布评论