在EXCEL表中怎样从一列有字和数字组成的列中,把数据提取出?

在EXCEL表中怎样从一列有字和数字组成的列中,把数据提取出?
如公园135444
战前545613
芦溪416166
中环994731-2 那么把135444
545613
416166
994731-2 单独提取出来
?谢谢各位!请仔细说清楚 !
数据量比较大!

如何用函数分离单元格中的汉字和数字或字母呢,当汉字或数字的位置有一定规律的时候比如,汉字(数字)总在左边或右边,一般是使用left、right、mid等文本函数,其中关键部分是如何获得汉字和数字(字母)的分界的位置或汉字个数或数字(字母)个数,下面的附件中给出几个例子,希望能抛砖引玉。
其中有些只对数字有效,有些只对字母有效。一并列出来,加以区别。

汗一个,竟然上传不了文件了。在这里写公式吧。

假如A3是数据,现以汉字都在左边为例提供思路。

A3=中草药0123

分离汉字的:

b3=LEFT(A3,LENB(A3)-LEN(A3))

或=LEFT(A3,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A3&"1234567890"))-1)

或{=LEFT(A3,MATCH(TRUE,CODE(MID(A3,ROW(INDIRECT("1:"&LEN(A3))),1))<250,)-1)}

或{=LEFT(A3,LEN(A3)-COUNT(--MID(A3,ROW(INDIRECT("1:"&LEN(A3))),1)))}

分离数字(字母)的:

c3=RIGHT(A3,2*LEN(A3)-LENB(A3))

或=SUBSTITUTE(A3,B3,)

或=RIGHT(A3,LEN(A3)-MIN(FIND({1,2,3,4,5,6,7,8,9,0},A3&"1234567890"))+1)

或{=MID(A3,MATCH(TRUE,CODE(MID(A3,ROW(INDIRECT("1:"&LEN(A3))),1))<250,),LEN(A3))}

或{=RIGHT(A3,COUNT(--MID(A3,ROW(INDIRECT("1:"&LEN(A3))),1)))}

或=LOOKUP(9.9E+307,--RIGHT(A3,ROW(INDIRECT("$1:$"&LEN(A3)))))

或=MID(A3,LEN(LEFTB(A3,SEARCHB("?",A3)-1))+1,LEN(A3)*2-LENB(A3))

引用自:http://blog.csdn.net/tianshanbuyi/archive/2008/09/22/2963014.aspx
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-31
这个不怎么行,EXCEL里合并容易,分开难

在数据里有个convert text to columns,我的是英文版,不知道中文翻成了什么,自己找下吧,然后选第二个选项点下一步,就可以选在第几个字符处分割了,如果你前面的汉字全是2个的话就可以分,不然会错位
第2个回答  2009-12-31
字数一样多吗?都是2个字的话,用数据-分列吧,然后选择固定宽度即可
第3个回答  2009-12-31
B1=MID(A1,MATCH(,0*MID(A1,ROW($1:$99),1),),99)
公式以CTRL+SHIFT+回车结束,将公式向下复制。
第4个回答  2009-12-31
a1=-LOOKUP(,-MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&5^19)),ROW($1:$15)))
公式提不出有“-”,只能提出数字,有减号的暂时不知道怎么解决呢