excel提取字符串中不規(guī)律數(shù)字的思路及公式(excel提取不規(guī)則文本中的數(shù)字)
字符串提取內(nèi)容sdf045D2re2DD04522AS357SDF5435754SDF245SDF6624566SSTT67QD56S367563ASD0145DD3D01453AADD132571325712245SDFT12245
如上圖,需要把字符串中的數(shù)字提取出來,并且組合成為數(shù)字組合(不缺省無效0)。
=MID(SUM(MID("01"&A2,1+LARGE(ISNUMBER(-MID(1&A2,ROW(:),1))*ROW(:),ROW(:)),1)*10^ROW(:))%,2,100)
對于新手而言,直接拿著公式使用即可,因為公式非常復(fù)雜,對于已入門的童鞋來說,可以好好研究研究。
大體思路:把有效數(shù)字全部變成1,非數(shù)字變成0,乘以1向上的等差序列,用Large函數(shù)找到每個數(shù)字的位置,提取該數(shù)值,然后數(shù)值根據(jù)所處位乘以10的倍數(shù),然后相加;
由于需要保留前面0,在相乘時求和時可能會直接缺省,因此方法是在每個內(nèi)容前面添加一個數(shù)值,求和后再用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位到后面的全部數(shù)值。
由于非值數(shù)字的large找出的位置全是0,而mid(文本,起始位,長度)起始位不能是0,會提示錯誤,因此全部位置加1保證有效不錯誤。但在原來的文本前面給他增加一個0,變成:01sdf045D2re2DD。
該公式適用于20個數(shù)字、亂序的數(shù)字提取,可以有規(guī)律的,也可以無規(guī)律的。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。