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