登陆 | 会员注册 工程学习网(原标准资料网)新版上线,致力建设专业的工程资料分享平台!

EXCEL如何提取字符串中的数字

时间:2016-07-11 来源:网络 作者:佚名 收藏到我的收藏夹

字符串提取内容sdf045D2re2DD04522AS357SDF5435754SDF245SDF6624566SSTT67QD56S367563ASD0145DD3D01453AADD132571325712245SDFT12245

如上图,需要把字符串中的数字提取出来,并且组合成为数字组合(不缺省无效0)。

 =MID(SUM(MID("01"&A2,1+LARGE(ISNUMBER(-MID(1&A2,ROW($1:$50),1))*ROW($1:$50),ROW($1:$20)),1)*10^ROW($2:$21))%,2,100)

对于新手而言,直接拿着公式使用即可,因为公式非常复杂,对于已入门的童鞋来说,可以好好研究研究。

大体思路:把有效数字全部变成1,非数字变成0,乘以1向上的等差序列,用Large函数找到每个数字的位置,提取该数值,然后数值根据所处位乘以10的倍数,然后相加;

由于需要保留前面0,在相乘时求和时可能会直接缺省,因此方法是在每个内容前面添加一个数值,求和后再用mid从第二位开始取值。

比如(sdf045D2re2DD):0*10000+4*1000+5*100+2*10+2,无效0会被省略,可以改进成(1sdf045D2re2DD)1*100000+4*1000+5*100+2*10+2,即104522,然后用mid从第2位到后面的全部数值。

由于非值数字的large找出的位置全是0,而mid(文本,起始位,长度)起始位不能是0,会提示错误,因此全部位置加1保证有效不错误。但在原来的文本前面给他增加一个0,变成:01sdf045D2re2DD。

该公式适用于20个数字、乱序的数字提取,可以有规律的,也可以无规律的。

相关关键词阅读: 返回栏目 添加到我的收藏夹
上一篇:Excel表格中获取不重复记录的个数这里提供四种方法
下一篇:Excel如何制作工资条 最简单工资条制作方法
Powered by www.pv265.com   © 2011-2014