需要解决的问题:
如何将单元格内的中文姓名与数字或英文分开?
解决思路和方案:
案例中每个单元格中内容的特点是,每个串的前面是姓名,后面是类似于电话号码的一串数字或者英文名的一串字母,每个文字占用2个,而每个字母或者数字占用1个,根据这些情况可以知道每个单元格中的串的数要多于数
字节
字符
c++截取字符串中的一部分
c++截取字符串中的一部分
,而且总字节数与字符数的差正好是单元格内的中文字符数,利用这个规律拆分中文和后面的数字或字母。
通过LEFT/RIGHT和LEN/LENB截取对应数量的字符来获取对应的中文、数字或英文,如下:
函数
截取中文部分
截取数字部分
出现了新的问题:
当单元格内的中文与数字或英文调换位置后,再用原来的办法就不灵了,需要调整公式逻辑和函数内的变量
调整后的公式:
参考:
LEFT和RIGHT函数:
LEFT函数用于从文本字符串的第一个字符开始返回指定个数的字符
语法:LEFT( string, n )
RIGHT函数用于从字符串右端取指定个数字符
语法:RIGHT(string,n)
LEN和LENB函数:
LEN函数是返回文本字符串中的字符数
语法:LEN(text)
LENB函数是返回文本字符串中用于代表字符的字节数
语法:LENB(text)
声明:本站内容转载于网络,版权归原作者所有,仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任,若侵犯到你的版权利益,请联系我们,会尽快给予删除处理!