分享

每日一题:Excel你的数据太不规范了!怎么拆分?

 FuWaye 2019-04-13

视频系列课程32

每日一题视频系列课程32,今天第5节!

第1节:Excel无级变色,还可以这样应用!

第2节:Excel一半是海水,一半是火焰!

第3节:Excel穿上马甲,你就不认识了吗?

第4节:Excel骨肉分离,这可怎么下手?

第5节:你的数据太不规范了!怎么拆分?

转发文章到朋友圈,免费学习最新5节视频课程!看文章最后说明!

今天的问题

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

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

解决方法

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

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

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

3、然后按CTRL E,瞬间所有数字全都提取出来了,参考文章:

每日一题:Excel快速填充(一个让你目瞪口呆的功能)!

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),如果有汉字,就视为错误。

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多