欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Office

Excel 截取字符串中任一一段 想怎么截就怎么截

程序员文章站 2022-05-22 13:15:03
截取字符串,同学位都会想到left函数从左边截、right函数从右边截、mid函数从中间截取。但遇到这样的你如何截取呢? 单元格A1中有一数字串  &q...

截取字符串,同学位都会想到left函数从左边截、right函数从右边截、mid函数从中间截取。但遇到这样的你如何截取呢?

单元格A1中有一数字串  "32 56 176 12 22",要求使用公式可以截取任一段的数字。如截取第2段为56,截取第3段为176,要不干脆公式向右拖动,把数字一个个全截出来,如下图所示。

有同学说,用分列功能。想法是不错,但有时需要对截取出一段进行二次处理,分列就不行了。

本题要是按一般的思路,就复杂去了。解决此题有一个很绝妙的方法,就是先替换再截取。以截取第2段的数字为例,先看公式吧

=TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",20)),20,20))

REPT函数可以生成重复的字符,上面公式中是生成“20个空格组合的字符串”

SUBSTITUTE函数把"32 56 176 12 22"中的单个空格全替换成了20个空格,即

32    56    176    12    22"

MID(字符串,20,20)从第20个截取(该位置位于第2个字符串之前),截取20个字符。

"   56   "

trim函数可以除去多余的空格。结果即为56.

而下面的公式可以提取出所有的数字。

B1=TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",20)),COLUMN(A1)*20-19,20))