分享

提取最后一个数字前面的内容

 风饕虐雪 2020-08-17

hello,大家好,今天我们来看这样一个问题,如何提取最后一个数字前面的内容,什么意思呢,直接看图:

提取最后一个数字前面的内容

可以看到货号长度不定,后面的非数字的位数也不定,需要提取最后面一个数字之前的内容。

该怎么解决呢?

可以这样考虑,只要找到最后一个数字的位置,然后用left函数,就可以提取出来,比如第一行,最后一个数字是2,它的位置是7,只需要用LEFT(A2,7)即可完成提取;

那么问题就转换为寻找最后一个数字了。

这里我分享一种思路,使用lookup,找到符合条件的最后一个结果,那么思路有了,该如何实现呢?

提取最后一个数字前面的内容

我们先用mid函数,把字符串拆分开,然后用0除以拆分结果,如果是数字,就被转换成了0,如果是非数字,就转换成了错误值,然后用lookup(1,0/(条件区域=条件),结果区域)的套路,去找最后一个数字的位置。

最终公式如下:

=LEFT(A2,LOOKUP(1,0/MID(A2,ROW($A$1:$A$10),1),ROW($A$1:$A$10)))

提取最后一个数字前面的内容

公式里使用了ROW($A$1:$A$10),如果字符串超过10位,需要把10修改为更大的一个数字,我们也可以使用indirect函数来动态调整,修改后的公式如下:

=LEFT(A2,LOOKUP(1,0/MID(A2,ROW(INDIRECT('A1:A'&LEN(A2))),1),ROW(INDIRECT('A1:A'&LEN(A2)))))

掌握了这个套路,以后再遇到类似的数据提取,就不怕了,比如大家可以思考下,如何提取第一个数字之后的内容?假设最前面的非数字位数不固定。

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多