怎么将excel中一串文字中夹杂的数字提取出来,如:总销量为219.5台。我只想提出219.5!

奇怪,给我正确答案的那个人的答案怎么不见了呢? 我还想感谢呢!
=MID(AC15,SMALL(IF(ISNUMBER(--(MID(AC15,ROW(INDIRECT("1:"&LEN(AC15))),1))),ROW(INDIRECT("1:"&LEN(AC15))),""),1),LARGE(IF(ISNUMBER(--(MID(AC15,ROW(INDIRECT("1:"&LEN(AC15))),1))),ROW(INDIRECT("1:"&LEN(AC15))),""),1)-SMALL(IF(ISNUMBER(--(MID(AC15,ROW(INDIRECT("1:"&LEN(AC15))),1))),ROW(INDIRECT("1:"&LEN(AC15))),""),1)+1)
按Ctrl+Shift+回车键结束。

=MID(A1,SMALL(IF(ISNUMBER(--(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))),ROW(INDIRECT("1:"&LEN(A1))),""),1),2*LEN(A1)-LENB(A1))
按Ctrl+Shift+回车键结束。
可以从汉字和数字的组合(数字必须连续)中提取出数字。数字和汉字的位数任意。
那个很长的公式是我写的,不过后来又改了一下,这样更简洁一些,能得出相同的结果。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-15
如果是一串文字的模式是数字(位数不定)+量词(一个汉字),则可用公式提取。
如,A1中为219.5台,则你可在其他地方用公式=LEFT(A1,LEN(A1)-1)提取到219.5
第2个回答  2011-04-15
你寻公式也太复杂了,用下面公式简单,通用,包括从字母串中提取数字:
如果你的数据在B1,则在后面空单元格输入:
=LOOKUP(9E+307,--MID(B1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},B1&1234567890)),ROW($1:$979)))
拖动下拉到需要的行就行了。
第3个回答  2011-04-15
=RIGHT(LEFT(A1,LEN(A1)-1),2*LEN(LEFT(A1,LEN(A1)-1))-LENB(LEFT(A1,LEN(A1)-1)))
注意,这个假设你的数据中,数字后面的字符只有一个,即:“台”追问

如果不是一个字符呢?

追答

那就相应改动公式中,len(A1)-1 的那个1

追问

呃…… 要是有公式就更好了! 这样这个1岂不是要自己手动?