Excel教程

Excel函数
Excel技巧

【EXCEL教程】Excel你的数据太不规范了!怎么拆分单元格?

当前位置:网站首页 > Excel教程

【EXCEL教程】Excel你的数据太不规范了!怎么拆分单元格?

* 来源: 【office教程学习】 * 作者: 【EXCEL教程】 * 发表时间: 2020-03-19 20:53:52 * 浏览: 40

汉字和数字拆分的问题,最近答疑群里问的比较多,我会逐步归纳总结一些方法给大家,遇到问题时,可以查询一下文章中的方法。

昨天的问题比较简单,但是今天的问题就稍有点复杂了,如下图,数字在文字中间,这种怎么提取数字呢?

解决方法

1、首先讲一点,这种数据都是业务管理不规范造成的,一种是软件设计不合理,第二种是表格设计不合理,把不同类型的数据混到一个字段或单元格里了;这种问题正确的做法是多增加几个字段或几列数据,把不同的数据分开填写。

2、这种数字提取,在Excel2016中用快速填充CTRL+E提取是非常方便的。

方法:首先在D2单元格输入第一个需要提取的数字:6189411。

3、然后按CTRL+E,瞬间所有数字全都提取出来了


4、当然,使用公式也是可以拆分,如下图在D2单元格输入公式:=-LOOKUP(1,-MIDB(C2,SEARCHB("?",C2),ROW($1:$100))),然后向下复制公式,所有数字都自动提取出来了。

公式说明

1、上面的公式比较复杂,不太好理解,这里做一些说明帮助大家理解这个函数。

2、SEARCHB("?",C2)是查找第一个数字所在的位置,每个汉字占2个字节,如D2单元格,第一个数字在第7个位置。

3、ROW(1:100)是提取行号,也就是生成了1~100个数字。

4、然后是MIDB,是截取,从第1个数字开始截取,分别向右截取1个2个.......100个长度,得到一个数量为100的数组,效果如下图。

5、最后是LOOKUP函数用1在上面截取的100个数据中搜索,会搜索到最后一个数字上,并返回这个数字(6189411),如果有汉字,就视为错误。

说明:公式里的减号,是把文本转换数字,公式外的减号是把负数变成正数。