Excel如何用公式从字符串中,分别提取前两段连续数字,到两个单元格内?
因工作需要,求各位大神帮忙写出公式
注意:
①A1值为数字、字符、标点随机组合,也极有可能为中文标点;【如下图A1】
②除数字以外字符有可能为其它任何字符(如:e / *),且这些字符不能影响结果的正确输出;【如下图A2】
③第一段连续数字前可能没有任何其它字符,第二段连续数字后也可能没有任何其它字符;(但是两段连续数字中间一定有除数字外的任意字符)【如下图A3】
④公式可以兼容Excel03版及以上且WPS2009及以上。
例如下图:A列为数据源,B列公式输出第一段连续数字,C列公式输出第二段连续数字
如有能正确输出上图三例的网友请赐教
没想到更好的办法,加了BDE三个辅助列才得出结果。
B1=REPLACE(A1,1,MIN(IF(ISNUMBER(FIND({0,1,2,3,4,5,6,7,8,9},A1)),FIND({0,1,2,3,4,5,6,7,8,9},A1),2^8))-1,"")
C1=LEFT(B1,MIN(IF(ISNUMBER(--MID(B1,ROW(1:50),1)),256,ROW(1:50)))-1)
D1=SUBSTITUTE(B1,C1,"",1)
三个公式中C1是数组公式,公式输完后,光标放在公式编辑栏同时按下CTRL+SHIFT+回车键,使数组公式生效。
三个公式向下复制
绿色区域复制到黄色区域。