总结篇--无规律混合数字英文拆分技巧

送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!

前一段时间我写了一篇帖子--细说数据拆分这点事,看完本篇后就都明白了,介绍了在多种情况下如何拆分数据的技巧。

现在我们一起着重来看一下,如果仅仅是数字、英文字符混合而成的字符串,我们怎样将他们拆分成两列。

01

LOOKUP函数

关于LOOKUP函数的使用,请参考帖子总结篇-LOOKUP函数实用终极帖

思路:

  • 用COLUMN(A:X)来产生一个新的数组{1,2,...24}

  • 用LEFT函数分别提取“2,20,202...”,并形成一个新的数组

  • 加负号是数字类型的数据变成负数

  • 使用LOOKUP函数在数组中查找“1”

  • 查找不到“1”,因此返回数组中最后一个数字类型的数据“-2020”

  • 最后负负得正,得到正确的答案

其实,LOOKUP函数也可以处理数字和汉字混合的字符串,公式的技巧运用和本例是一样的。

02

SUBSTITUTE函数

关于SUBSTITUTE函数的用法请参考之前有一个帖子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函数将文本和数字分别提取出来。

同样,这个技巧也是可以用在汉字与数字混合的字符串拆分。

03

综合应用

当英文字符串和数字构成文本时,由于无法使用SEARCHB函数嵌取得首个数字的位置,就可以利用下面的方法来取得数字。

在单元格B2中输入“=-LOOKUP(1,-MID(A2,MIN(FIND(ROW($1:$10)-1,A2&1/17)),ROW($1:$15)))”

并CTRL+SHIFT+ENTER回车,向下拖曳即可。

思路:

  • 利用ROW函数构造0-9的数组

  • 1/17的值包含了0-9所有的数字,和待拆分的单元格结合在一起可以避免FIND函数查找不到数字而返回错误值

  • 利用FIND函数查找10个数字在文本中的位置,结合MIN函数返回在文本中的最小位置,即首个数字的位置

  • 利用MID函数向右截取长度为1-15的字符串

  • 利用LOOKUP函数取得正确结果

04

利用WORD

例如下面这个例子。毫无规律可言。而且,数字的长度超过15位,普通的函数也处理不了。那么有没有办法来进行拆分呢?

答案是肯定的!

将它们复制到WORD中,单击CTRL+H,调出替换对话框。在“查找内容”中输入“^$”;在“替换为”中单击一下鼠标。

接下来单击全部替换。

这样,所有的英文字符都被替换掉了。将数字复制回到EXCEL中即可。

精彩还没有结束!接下来我们将英文字符也拆分出来。

相同的操作,将字符串复制到WORD中,调出替换对话框。输入“^#”。

点击全部替换后,所有的数字被替换。

将文本复制回到EXCEL中。

“^$”和“^#”分别表示“任意字母”和“任意数字”,是WORD的通配符。

有兴趣的朋友们可以去搜索一下WORD的通配符列表!

最后一种方法,有效地解决了EXCEL将超过15位的数字默认为0的限制,有效地解决了数据拆分的难题!

文章推荐理由:

数据拆分是EXCEL日常工作内容之一,应熟练地应用!

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

戳原文,更有料!免费模板文档!

推荐阅读
(0)

相关推荐