Question to say "I can!"

Excel如何取出一段文字中的数字

2011-10-12

这要分好几情况:

1.要取前几位,或者后几位,如果都是数值,那么可以用left( )和right( )函数。

2.要取的是中间的几位,那么可以用MID(text,start_num,num_chars)函数。

3.还有一种是混合类型的,比如“11年秋书法竞赛一等奖(1000元)”、“11年秋英语朗诵比赛二等奖(500元)”,要取出其中的1000和500,那需要的函数就比较复杂,但也是可以实现的。

我们就是要在EXCEL中将单元格中数字和字符混合在一起的部分自动地把数字取出来。

一般公式:

=LOOKUP(9E+307,--MIDB(A1,SEARCHB("?",A1),ROW(INDIRECT("1:"&LEN(A1)))))

A1指要取出文字的单元格,MID前面是两个-,公式里的引号要记得全部改为英文的引号。(下同)

但是,这样做对小数不适用,我们再加以改进:

=LOOKUP(9E+307,--MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW(INDIRECT("1:"&LEN(A1)))))

但你会发现,我们上面的例子要的是后面的那个数字,而不是前面的,那么就还得改进,我们用right(A1,7)取后7位替换原公式中的A1,如果如下:

=LOOKUP(9E+307,--MID(right(A1,7),MIN(FIND({0;1;2;3;4;5;6;7;8;9},right(A1,7)&1234567890)),ROW(INDIRECT("1:"&LEN(right(A1,7))))))

至此,我们终于解决了上面的问题。



作者:admin | Categories:软件使用 | Tags:

一条评论

  1. 说道:

    06 只能取6

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

无觅相关文章插件,快速提升流量