code函数的用法

计算机内的每一个字符都有一个编码相对应。例如:字符A就有一个ANCI数字代码65相对应。大写字母A—–Z相对应的编码是65—–90,小写字母a—–z相对应的编码是97—–122。CODE函数,就是返回文本字符串中第一个字符的ANCI数字代码。

一、判断每个单元格首字符是否为英文字母,包括大写字母、小写字母。

在B2单元格输入以下公式:

=ORANDCODEA2)>64,CODEA2)<91),andcodea2)>96,CODEA2)<123))< p="">

按下[Enter] 键后,公式将对A2单元格进行判断。双击单元格的填充柄,将

公式向下填充,结果如图所示。

公式说明:

本例利用CODE函数计算单元格第一个字符的字符代码,如果该代码在

65~ 90之间,或者在97~ 122之间,那么就表示首字符是字母。其中65~ 90之

间表示大写字母,97~ 122之间是小写字母。

使用注意:

1) CODE函数用于计算文本字符串中第一个字符的数字代码,也就是说单元

格中不管有多少个字符,仅仅计算出一个字符的数字代码。

2) CODE函数用于计算字符的字符代码,而CHAR函数可以根据字符码产

生字符,在功能上与CODE相反也有少数情况例外)。

3)根据本例的公式,也可以简化成如下数组公式。

=SUMNCODEA2)> {64,96} ),NCODEA2)<{91,123}))=3< p="">

案例链接:

思考:判断单元格首字符是否为数字。

提示:数字0~9的字符码在48~ 57之间。

二、分别计算每个单元格中的数字个数。

打开数据文件,在B2单元格输入以下数组公式:

=SUMIFERRORCODEMIDA2,ROW$1:$999), 1))>47)*CODEMIDA2,R

OW$1:$999),1))<58),0))< p="">

按下[Ctrl Shift Enter]组合键后,公式将返回A2单元格的数字个数。双击单

元格的填充柄,将公式向下填充,结果如图所示。

公式说明:

数字0~ 9的字符码在48~ 57之间。所以本例公式使用ROW函数生成1~ 999

的序号,再配合MID函数提取第1个、第2个…..第999个字符,接着使用CODE

函数判断它是否大于47且小于58,如果符合条件则按I参与求和,不符合条件则

按0参与求和。

之所以使用ROW$1:$999)是因为单元格中的字符通常不会超过999个字,但

有可能超过99个,从字符串中提取第一个1 ~第999个字符可以确保不产生遗漏,同时

又不会导致运算量太大。

当ROW$1:$999)生成的序列号超出实际的单元格字符数量时,MID函数只能

生成空文本,CODE函数字符空文本的字符码只能得到错误值,因此在CODE以外

需要使用IFERROR函数将错误值转换为0,然后再使用SUM函数求和。

使用注意:

字符码同时满足大于47、小于58两个条件时才是数字,因此本例公式直接将

两个表达式相乘,由于只有TRUE乘以TRUE才等于1, TRUE乘以FALSE以及

FALSE乘以FALSE都等于0,所以两个表达式相乘的结果同时满足两个条件者当作

1处理,其他条件都当作0处理。最终的结果是同时满足两个条件的字符数量。

案例链接:

思考:计算单元格中的非数字个数。

提示:将“>”改为“<=”,将“<”改为“>=”,同时将两个条件间的“*”改为“ ”。

三、分别计算每个单元格中大写加小写字母的个数

打开数据文件,在B2单元格输入以下数组公式:

=SUMIFERRORCODEUPPERMIDA2,ROW$1:$9)1)))>64)*CODEUPPER

MIDA2,ROW$1:$9)1)))<91),0))< p="">

按下[Ctrl Shift Enter]组合键后,公式将返回A2单元格的字母个数。双击单

元格的填充柄,将公式向下填充,结果如图所示。

公式说明:

字母分为大写和小写两种,而且大写字母和小写字母的字符码并不连续,其中大写字母的字符代码在65~ 90之间,小写字母的字符代码在97~ 122之间。本例

公式首先将所有字母都转换成大写,再计算其字符码,可以减少两次判断,仅需要

符合“大于64”和“小于91”两个条件即可。

使用注意:

1)本例也可以使用LOWER函数将所有字符转换成小写字母,再提取其他符

码。将比较范围64和91分别改成96和123即可。

2) UPPER函数用于将字母转换成大写形式,它只对字母有效,对数字、汉

字和标点符号无效。由于要求同时统计大小写字母的数量,为了避免判断两次,使

用UPPER函数将字符串中的一切字母都统一转换成大写形式,然后只需再计算一-次

大写字母的数量即可,否则既要计算大写字母数量还要计算小写字母数量。

3)本例可以利用常量数组作比较对象来缩减公式长度,公式如下:

=SUMIFERRORCODEUPPERMIDA2,ROW19999),)))>{64,91}) *{1,-

1},0))

案例链接:

思考:计算单元格中非字母个数。

提示:相对于本例修改比较运算,同时将两个条件间的“*”改为“ ”即可。

Excel操作技巧:将excel文件导入word文件中格式字段不变 常用必会,Excel日期函数公式案例总结看了就会,强烈建议收藏 Excel办公技巧:引用其他工作表和定义单元格名称,建议大家收藏

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注