用函数如何判断单元格中的字符串是否全是字母字符

今天讲的这个课题对于函数有些难度,但仍是遵循我的思想,写函数就是在写程序,其实今天的这个函数难度要高于一般的VBA,对于VBA初学者,甚至是可以达到中级水平(可以用VBA操作数据库)的人员来说不一定能读懂,如有谁可以一次能读懂,我将加入VBA人才库,哈哈。

言归正传,今天讲如果用组合函数判断一个单元格输入的是否全部是字母。先看下面的截图

在A列中,有一系列的字符或组合,要判断哪些全部是字母,我们录入了B列的公式,返回的结果是C列的值。

这里我公布了B列的公式,但截图的图表中有一点没有完全显示出来,截图的光标选中的B2的单元格,我们看上面的编辑栏,会发现公式的首位是加了一个{}的符号,这就说明,这个公式是数组公式。

下面是B2公式的复制:=)=)}

好了,到这里我们称之为第一步,有谁在第一步能看懂了这个公式?请举手。不过没关系我们下面会先简单的讲解一下这个公式。

第二步,公式的简要说明。这个例子的公式是一个数组公式,涉及到的函数和公式应用较多,简单介绍下公式的原理:首先把字符串中所有字符都用Upper函数转为大写字母(有利于判断),然后用right函数将整个字符串依次分段,再用code函数将分段后的首字符代码取出(分段后的首字符就是字符串中的每一个字符),最后判断代码是否在65~90的区间内(大写英文字母的区间)。这个例子让大家了解到,code函数经过与其他函数的组合可以突破返回首字符代码的限制,可以有更广泛的应用。

到第二步这里有谁能完全读懂上面的公式了?请举手。

如果你到这里可以轻松的完全的读懂上面的公式,那么你的函数水平可以在中级以上了,写的VBA程序基本可以操作数据库了。但相信很多人还是一团雾水,或者似是而非地看懂了。

下面看我的第三部讲解:

=)=)}

其实这个组合函数和程序的写法一样的,甚至还更难。

1首先要计算的是UPPER(A2)=123QWE,当然我这里没有给出小写的例子。

2求LEN(A2)=6,得到下一阶的公式:INDIRECT("1:"&6)进而化简这个值为INDIRECT("1:6")。

3有了上面的值进而得到下阶的公式:ROW($1:$6),所以会得到下一阶公式RIGHT(“123QWE”,{ 1;2;3;4;5;6})。

4从上面公式得到,下阶的公式:CODE({“E”; “WE”; “QWE”; “3QWE”; “23QWE”; “123QWE”}),值为

5上面的值进而会转化为下阶的公式>。这是对于数组的比较,而得到公式的返回值:

6从上阶的值得到下阶的公式

N()。进而达到值

7从上阶的值得到下阶的公式=,进而得到公式的返回值

8从上阶的值得到下阶的公式

AND(,而得到公式的返回值FALSE)。

经过了上面的8个关键步骤的计算,我们得到了FALSE的结果,到这里,应该大多数的朋友都能看懂上面的公式了。如果还没有看懂,赶快再复习一下数组的运算,N函数的用法,及基本的RIGHT函数的用法了。

今日内容回向:

1如何判断单元格中的字符串是否全是字母字符的思路是如何建立的。

2 CODE函数和CHAR函数的利用是否能熟练了?

3是否看懂了上面的公式。

分享成果,随喜正能量

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180806A1KJ0V00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券