编按: 从中英混合字符串中提取一串连续的汉字(含双字节符号)可以借用单双字节的区别直接用MID函数搞定。
除按照特定的字符作为分隔符进行提取外,也可以利用单双字节数的不同来提取英文(单字节)或者汉字(双字节)。 =MID(A2,MATCH(2,LENB(MID(A2,ROW($1:99),1)),),LENB(A2)-LEN(A2))① LENB(MID(A2,ROW($1:99),1)) 得到每个字符的长度,单字节1,双字节2,空为0。②MATCH(2,①,),在①中查找第一个2的位置作为开始提取的位置。③LENB(A2)-LEN(A2),计算出要提取的双字节字符个数。=TEXTSPLIT(A2,CHAR(ROW($1:$122)),,1)将单字节字符作为分隔符,利用TEXTSPLIT函数进行提取。CHAR(ROW($1:$122))得到含所有英文在内的122个字符集作为列分隔符。本例中不需要保留的字符都包含在CHAR(ROW($1:$122))对应的字符集里,如下图所示:留一道思考题:若汉字不是连续的,前后有多处,如下图,怎么提取呢?
|