同一个单元格中中英文分开的方法详解
方法/步骤
了解LEFT和RIGHT函数,分别代表从一个文本字符串的第一个/最后一个开始返回指定个数的字符。所以需要的两个条件分别是:需要提取的文本和指定字符的个数,如下图:
此时如果你的中文或者英文的字符数是固定的,则可以直接提取分开中英文,如下图例子,所有英文都是5个字符,所有中文都是2个字符,所以可以从左侧提取2个字符(此时2个中文字符在前所以从左起提取中文),从右侧提取5个字符来分开中英文:
如果英文和中文个数不定但是格式一样,即都有一个同样的标点或者没有标点,可以用复制第一个的中文或者英文,然后用Ctrl+E来填充其他,如图中绿色部分,但是有不同标点的会导致不能提取或部分提取,如红色部分,你复制时是否带有标点一起复制不影响结果:
你可以选择在Crtl+E前将缺少的标点补上及将不同标点替换为相同的,来减少错误行,如下图结果,但如果比较多的行处理起来会比较麻烦:
另一种方法仍是选择用RIGHT和LEFT函数,但需要将数值用LEN和LENB函数来设置。首先需要知道LEN和LENB函数:
LEN 返回文本字符串中的字符个数。
LENB 返回文本字符串中用于代表字符的字节数。
即:
LEN(A1),返回33,不论中英文字符,均按1计数。
LENB(A1),返回40,LENB函数按这样的规则计数:汉字、全角状态下的标点符号,每个字符按2计数,数字和半角状态下的标点符号按1计数。即在33的基础上加上6个汉字和1个全角句号,得到40。
如下图:
如果不管标点符号,可以简单得到如下图公式:
用RIGHT和LEFT来分别提取上面的中英文,就变为:
LEFT(A1,LEN(A1)*2-LENB(A1))
提取中文,要从右侧:
RIGHT(A1,LENB(A1)-LEN(A1))
结果:
如上,我的中文提取都少了1个,英文大多数都多提取了1个,部分提取了两个字,这是因为我没有考虑标点符号,如果假设我的所有标点都是中文带全角,英文带半角则变为:
LEFT(A1,LEN(A1)*2-LENB(A1)-1)
中文:
=RIGHT(A1,LENB(A1)-LEN(A1)+1
结果如下图:
仍有错误的是因为那一行将中文标点的全角用成了半角的缘故,更改过来即可,结果如下图:
END
未经允许不得转载:经验百科 » excel将同一格中的英文和中文分开详解
最新评论
好东西