打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
EXCEL提取单元格内第一个数字的位置

要求:提取单元格内,第一个数字的位置。


        平常的excel使用中,会经常遇到这样的字符提取。我们知道,数字只有10个,0-9。于是,可以有一个大胆的想法。

        上图用find函数分别在A2单元格的字符串内查找0-9,得出各自的位置,字符串中没有的数字,自然就返回错误了。从中可以知道,find返回的数字当中,最小的数字就是字符串内第一个数字的位置,如2对应的4。

        因此,下一步我们想到的方法就是使用min函数来提取最小的数字。

        但min函数只对提取数字有用,有错误值就不好处理了。

          变通方法很简单,我们将字符串接驳,使得每个字符串都含有0-9这10个数字。在字符串后面链接上“0123456789”,再使用min就能得出第一个数字所在的位置了。

 

           接着下来就是将min和find函数一起使用了。这里要使用到数组公式。

            什么是数组公式?不理解不要紧。现在只要知道min find是下面的步骤:

1、find函数在字符串中查找0,返回其在字符串中的位置

2、find函数在字符串中查找1,返回其在字符串中的位置

......

依次这样操作10次,生成一组数字

{10,11,4,5,6,15,16,17,18,19}

3、使用min函数在上面的数字当中提取最小值。

将这些动作打包在一起操作,组合成数组公式(当然不使用数组操作也能得到值):

=MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&'0123456789',1))

        将公式做小许修改:{0,1,2,3,4,5,6,7,8,9}用row(1:10)-1代替,row(1:10)生成1-10十个数字,再各自减去1就是0-9十个数字1/17代替'0123456789',因为1除以17等于0.0588235294117647,这里面0-9的数字全部都有。

=MIN(FIND(ROW($1:$10)-1,A2&1/17)),数组三键

        当然,除了上面的公式,也可以使用下面数组公式match:

=MATCH(1,1/1^MID(A2,ROW($1:$99),1),),同样能够得到结果。方法套路都基本相通。



本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用函数在Excel中从文本字符串提取数字
Excel经典公式:提取位于字符串后面的数字
Excel公式练习17:提取字符串中的数字
统计单元格内数字字符串,不重复数字个数!
EXCEL中如何使用VLOOKUP函数提取单元格字符串中的数值
单元格取数字万能公式-只需一招搞定
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服