excel将同一格中的英文和中文分开详解
来源:网络收集 点击: 时间:2024-05-10了解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
结果如下图:

仍有错误的是因为那一行将中文标点的全角用成了半角的缘故,更改过来即可,结果如下图:

版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_724199.html