EXCEL单元格如何提取想要的字符串?
想要把上面的336094、338106提取出来分别放到其他的列便于统计,谢谢各位大神! 展开
首先你要确定想取的二串数字都是6位数的,如果不是6位数,方法不一样。
下面以二串数字固定为6位数做的公式:
假设字符串在A1,取出的二个数字放在B1和C1。
B1公式如下,输完后按CTRL+SHIFT+ENTER生成数组公式,再右拖复制到C1即可。
B1公式:=--MID($A1,SMALL(IFERROR(IF(--MID(SUBSTITUTE($A1," ","a"),ROW(1:99),6),ROW(1:99),),""),COLUMN(A1)),6)
大神,感谢您的回复,确实不是固定。数据如下:
31376/36198/36199/36788/505 (比如分别提取31736或是36199或505)
338106尾车成局贵段 018救援 (提取338106或018)
如图,B2公式如下,右拖复制到出现#N/A为止,可提取出所有数字。
B2公式:=LOOKUP(9.99E+307,--MID($A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},$A2&56^7,IF(COLUMN()=2,1,FIND(A2,$A2)+LEN(A2)))),ROW(INDIRECT("1:"&LEN($A2)))))
如果“018”取出来就要是"018",而不要变成"18"的话,B4公式如下,虽然公式长了点,但是很有效,这不是数组公式,不用按三按组合:
B4公式:=LOOKUP(9.99E+307,--MID($A4,MIN(FIND({0,1,2,3,4,5,6,7,8,9},$A4&56^7,IF(COLUMN()=2,1,FIND(A4,$A4)+LEN(A4)))),ROW(INDIRECT("1:"&LEN($A4)))),MID($A4,MIN(FIND({0,1,2,3,4,5,6,7,8,9},$A4&56^7,IF(COLUMN()=2,1,FIND(A4,$A4)+LEN(A4)))),ROW(INDIRECT("1:"&LEN($A4)))))
如果原来的文本是统一有空格分隔的话,可以先复制一个新表,用 分列,把(xx茶车、xx尾车)这两个作为单独列提取出来
如果号码是固定6位数,可以再次分列,再粘回原来的表就ok了。
如果所有数据格式不是统一的:
在新一列的单元格中输入运算符号=,然后点击【fx】按钮。
弹出【插入函数】对话框,在【选择函数】中选择函数[LEFT],因为要提取的字符串需要从单元格的左面提取,所以选择这个函数,然后点击【确定】按钮。
将光标移动到第一个参数后面的对话框中,在工作表中直接选取A2单元格,即要提取的内容所在单元格;
在第二个参数后面的对话框中输入公式FIND("茶",A2,1);所有参数设置好后点击【确定】按钮。
返回到工作表中,(茶)前面的字即被提取了出来。