SUBSTITUTE函数
在单元格D2中输入“=--RIGHT(A2,SUM(LEN(A2)-LEN(SUBSTITUTE(A2,{0,1,2,3,4,5,6,7,8,9},""))))”并CTRL+SHIFT+ENTER回车即可。
在单元格C2中输入“=LEFT(A2,LEN(A2)-LEN(D2))”即可。
利用SUBSTITUTE函数用“”代替原字符串中0-9的数字
利用LEN函数计算替代后的字符串长度
用替代前的字符串的长度减去替代后的字符串的长度,得出被替代的0-9每个数字的个数
将以上求和,得出原字符串中数字的位数
最后分别用LEFT函数和RIGHT函数将文本和数字分别提取出来。
同样,这个技巧也是可以用在汉字与数字混合的字符串拆分。
当英文字符串和数字构成文本时,由于无法使用SEARCHB函数嵌取得首个数字的位置,就可以利用下面的方法来取得数字。
并CTRL+SHIFT+ENTER回车,向下拖曳即可。
利用ROW函数构造0-9的数组
1/17的值包含了0-9所有的数字,和上面的数组结合在一起可以避免FIND函数查找不到数字而返回错误值
利用FIND函数查找10个数字在文本中的位置,结合MIN函数返回在文本中的最小位置,即首个数字的位置
利用MID函数向右截取长度为1-15的字符串
利用LOOKUP函数取得正确结果
利用WORD
例如下面这个例子。毫无规律可言。而且,数字的长度超过15位,普通的函数也处理不了。那么有没有办法来进行拆分呢?
答案是肯定的!
将它们复制到WORD中,单击CTRL+H,调出替换对话框。在“查找内容”中输入“^$”;在“替换为”中单击一下鼠标。
接下来单击全部替换。
这样,所有的英文字符都被替换掉了。将数字复制回到EXCEL中即可。
精彩还没有结束!接下来我们将英文字符也拆分出来。
相同的操作,将字符串复制到WORD中,调出替换对话框。输入“^#”。
点击全部替换后,所有的数字被替换。
将文本复制回到EXCEL中。
“^$”和“^#”分别表示“任意字母”和“任意数字”,是WORD的通配符。
有兴趣的朋友们可以去搜索一下WORD的通配符列表!
最后一种方法,有效地解决了EXCEL将超过15位的数字默认为0的限制,有效地解决了数据拆分的难题!
欢迎朋友们分享办公技巧
投稿、提问邮箱:
wordjqdr@126.com
返回搜狐,查看更多
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。