美文网首页
Excel怎样从字符串中提取位置和长度不固定的数字

Excel怎样从字符串中提取位置和长度不固定的数字

作者: 甘彬 | 来源:发表于2018-11-26 09:04 被阅读0次

    最近上课的时候,常常有学员咨询怎样从Excel字符中提取位置和长度都不固定的数字,今天我们分两种情况来聊一聊对应的解决方案。

    情况1:数字前后有特定的分隔符

    如果数字前后有特定的分隔符,比如()、##等分隔符,那么我们可以通过查找这些分隔符的位置,来定位到数字的位置。

    比如下图所示的这个案例,要提取的数字是所有的加分值,每个加分值的前面都有一个“+”号,后面都有一个“分”字。类似这种数据,我们可以通过FIND函数来查询出“+”和“分”的位置。

    Find函数用来对原始数据中某个字符串进行定位,以确定其位置。Find函数进行定位时,总是从指定位置开始,返回找到的第一个匹配字符串的位置,而不管其后是否还有相匹配的字符串。

    语法:FIND(找什么,在那里找,起始位置)

    在本例中,“+”号在字符串中只出现一次,比如想查询B2中+的位置,就可以使用函数=FIND("+",B2)来获得。

    而如果要获得“分”字的位置,由于B列中的数据不仅仅是数字后面有“分”字,比如B5单元格中“分享心得+2分”的第1个字符也是“分”字,所以我们在使用FIND函数的时候,还需要用到第3个参数,也就是起始位置,我们把起始位置设置为C2单元格的值,也就是要查询的是从+号开始的第一个“分”字的位置。

    这样我们就可以用D2-C2-1计算出数字的长度。

    最后可以使用MID文本提取函数来取出数字:=MID(B2,C2+1,E2)

    以下是函数的完成效果:

    情况2:没有任何规律

    如果数字不管是长度还是位置都是没有规律的,用Excel函数很难提取出来数字,虽然在网上能搜索到一些组合函数,但我测试过好多个都不一定能提取到数字,而且函数极其复杂。

    其实我们可以结合到Word的替换功能来轻松搞定这个问题。将要提取数字的列复制到Word中,按[CTRL+H]打开替换功能,选择“更多”,勾选“通配符”,在查找内容中输入[!0-9],意思是查找除0-9以外的字符,在替换为中什么都不用输入,点击全部替换。

    此时我们看到表格中的所有除数字以外的字符都被删除了,之后我们就可以把这一列复制回到Excel中。

    以上就是本期的全部内容,有没有get到一些技巧呢~

    相关文章

      网友评论

          本文标题:Excel怎样从字符串中提取位置和长度不固定的数字

          本文链接:https://www.haomeiwen.com/subject/yasvqqtx.html