先看这个示例表:
在左侧的列里面,是一列文本内容或数值,右边列对应标识出来该行左侧是否包含汉字。
这个是怎么快速标记出来的呢?这里使用的是一个LEN函数,嵌套入IF语句里面,得到的结果。
具体的公式如下(假设需要判断B6格里的内容):
=IF(LEN(B6)=LENB(B6),"无汉字","有汉字")
咱们详细解释一下这个公式。
IF函数,是三段式的,简要语法如下:
= IF( 判断句,如真第2句, 如假第3句)
可以简要记忆为:
如果xxx为真,则AAA,否则BBB。
具体的IF函数用法,可以参考历史教程文章《IF 函数 - Office》
咱们今天重点是讲解一下IF函数里面嵌套的LEN函数,这个是实现比较中文字符的关键函数。
LEN函数的本意,是计算一段文本的长度,返回字符长度个数。比如:
= LEN("ABCD")
结果就是4,说明“ABCD”的长度是4个字符
同样,如果写为:
= LEN("中国北京上海”)
返回的结果会是6,说明字符长度是6个字。
而使用LENB函数,则是返回字符串实际占用的电脑内部的字节长度,一个字母占用1个字节,而一个汉字要占用2个字节。
官方的函数说明文档也明确了这点:
所以,就会有如下区别:
= LEN("中国北京上海”) 结果等于6
= LENB("中国北京上海”) 结果等于12
而对于非中文的字母和数字,LEN和LENB的结果会是一样的:
= LEN("AABBCC”) 结果等于6
= LENB("AABBCC”) 结果等于6
那么,就可以利用LEN和LENB对中英文的不同计算,来判断一个内容里面是否包含中文了。
公式:=LEN("ABC2020")=LENB("ABC2020")
的结果会返回TRUE
而公式: =LEN("ABC中国")=LENB("ABC中国")
结果会返回FALSE
搞清楚这个原理,就可以使用LEN和LENB来作为判断句,嵌套到IF函数的里面,返回对应的标识结果了。
按此原理,公式:
=IF(LEN("ABC2020")=LENB("ABC2020"),"无汉字","有汉字")
返回的结果是“无汉字”
而
=IF(LEN("ABC中国")=LENB("ABC中国"),"无汉字","有汉字")
返回的结果是“有汉字”。
这次的函数解释,过程并不复杂,除了熟悉函数功能,另外一个关键点在于对“=”的理解,此处的“=”符号,并不是用作赋值,而是比较符。