code函数的介绍,code函数应用技巧

首页 > 机动车 > 作者:YD1662023-12-30 23:42:11

code函数的介绍,code函数应用技巧(1)

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

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

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

=OR(AND(CODE(A2)>64,CODE(A2)<91),AND(CODE(A2)>96,CODE(A2)<123))

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

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

code函数的介绍,code函数应用技巧(2)

公式说明:

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

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

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

使用注意:

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

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

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

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

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

=SUM(N(CODE(A2)> {64,96} ),N(CODE(A2)<{91,123}))=3

案例链接:

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

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

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

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

=SUM(IFERROR((CODE(MID(A2,ROW($1:$999), 1))>47)*(CODE(MID(A2,R

OW($1:$999),1))<58),0))

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

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

code函数的介绍,code函数应用技巧(3)

公式说明:

数字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单元格输入以下数组公式:

=SUM(IFERROR((CODE(UPPER(MID(A2,ROW($1:$9)1)))>64)*(CODE(UPPER(

MID(A2,ROW($1:$9)1)))<91),0))

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

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

code函数的介绍,code函数应用技巧(4)

公式说明:

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

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

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

使用注意:

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

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

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

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

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

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

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

=SUM(IFERROR((CODE(UPPER(MID(A2,ROW(19999),)))>{64,91}) *{1,-

1},0))

案例链接:

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

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

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.