在Excel中,你可以根据函数拦截各种字符,但仍然没有拦截中文的函数。
因此,要想让Excel能够截取单元格中的中文汉字,我们就必须借助多个函数,实现综合应用,才能截取相应的汉字。
以下是举例,希望对您有帮助。
如下表。
看好了,单元格A1中的内容,是中文和其它英文字符数据的混合,请注意,中文要么在左边要么在右边,并且,必须是连续的,如上图一样,这样,才能够通过综合函数截取出来。
一、截取除汉字之外的字符
如下图。
通过公式:=RIGHT(A1,LEN(A1)*2-LENB(A1))
就可以实现截取。
二、截取汉字
如下图。
直接通过公式:=LEFT(A1,LEN(A1)*2-LENB(A1))
就可以截取。
如上的截取,函数都很简单,但是难以理解,下面,给您逐一介绍。
三、综合函数分析
LEFT函数,我们都是知道,左截取字符的函数。指的是从左边开始截取。同类,RIGHT函数是右截取函数。
LEFT函数中文语法可以理解为:LEFT(A1,截取长度),即从左边第一位开始截取字符串,截取指定的长度。A1为要截取的对象。RIGHT函数同理,就不再介绍了。
现在,我们来仔细分析如上的综合函数::=LEFT(A1,LEN(A1)*2-LENB(A1))
套用如上的LEFT的中文语法,可理解为LEFT(A1,截取长度),即截取长度这个参数的值相当于LEN(A1)*2-LENB(A1)。
LEN函数是用于求一个字符串的长度的。而LENB函数是用来求一个字符串的字节数量的。
注意,无论大小英文、中文或其它符号,通过LEN求长度,每个字符只占一个单位。而LENB函数求字节大小时,中文中两个单位,而非中文只占一个单位。至于这两个函数的介绍,请参阅文章:http://www.dzwebs.net/3164.html
举例:假设A1单元格的内容是:大众计算机6789
那么,LEN(A1)返回值为:9,即每个字符占一个单位,共有九个,因此返回九。
LENB(A1),用来求A1单元格的内容的字节数,返回14.
现在,我们的理论是来源于这种思想的,A1单元格的字符长度的两倍即LEN(A1)*2减去A1单元格的字节数,就等于中文的所占的长度。
LEN(A1)*2相当于把A1中的内容,每个字符按两个长度来算。
所以才会推论出:=LEFT(A1,LEN(A1)*2-LENB(A1))公式截取左边的中文。
当然,LEFT和RIGHT函数,不管中文还是英文还是其它符号,每个字一律按一个长度来算。只有LENB函数会将一个中文以两个长度来计算。