分列的方法需要中英文字字符间有统一的分割字符,如果没有类似符号,在Excel中还可以使用内置函数LENB和LEN进行自动中、英文字符提取。选中B2,在其处输入“=LEFT(A2,LENB(A2)-LEN(A2))”,在C2输入=RIGHT(A2,2*LEN(A2)-LENB(A2)),然后将公式下拉填充即可(图4)。
公式解释: 这里LENB函数返回指定单元格的字节数,LEN函数则返回单元格的字符数(注意两者的区别,比如A1内容是“1台电脑”,那么字节数为“7”(数字1字节+三个汉字6字节),字符数为“4”(1、台、电、脑四个字符)。汉字和英文不同,1个汉字是2个字节(全角符号也是2个字节),1个英文字符是1个字节。假设某个单元格里有英文字母x个,汉字y个,那么LEN=x+y,LENB=x+2y,解方程后可以得到汉字个数y=LENB-LEN,字母个数x=2*LEN-LENB。 比如在上述实例中,“=LEFT(A2,LENB(A2)-LEN(A2))”,就是通过LEFT函数从左开始截取汉字个数,这里LENB(A2)-LEN(A2)=12-9=3,所以截取三个汉字“方力申”。同理,“=RIGHT(A2,2*LEN(A2)-LENB(A2))”函数中,2*LEN(A2)-LENB(A2)=18-12=6,即从右边开始截取6个字符“(Alex)”。因为半角和全角符号的字节数不同,这里要注意的是全角输入的符号(如小括号)等会被识别为双字节字符,因此像上述实例中的小括号的符号一定要预先转为半角字符,否则提取会出错。 由于最终提取出来的英文名称包含小括号,继续在E2输入公式“=SUBSTITUTE(SUBSTITUTE(D2,"(",),")",)”,这个公式的意思是分别去掉左右括号,注意双引号中的括号是中文还是半角,可以用此公式分别去除半角、全角等相应的符号(图5)。
上述实例中是前中后英混杂,如果是前英后中,则只需将LEFT和RIGHT函数对换即可。如果是这两种方式混杂在一起,则可以先使用排序方式,将中英文排序,然后分别使用上述方法进行提取即可(图6)。 |