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