Excel经典公式:提取位于字符串后面的数字

2022-06-04 09:51:14 浏览数 (1)

标签:公式与函数

有时候,可能有一个数据集,单元格中包含着文本和数字,其中数字在字符串的右侧,如下图1所示,你希望删除所有文本,而只保留数字。

图1

下面的公式将删除数字左侧的所有文本,因此只剩下字符串中的数字部分。

=RIGHT(A2,LEN(A2)-MIN(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A2),LEN(A2))) 1)

向下拉,拖放公式至数据单元格末尾,结果如下图2所示。

图2

上面的公式移除了单元格中左侧的文本部分,只剩下右侧的数字。

公式中:

FIND({0,1,2,3,4,5,6,7,8,9},A2)

将在单元格中查找这10位数字,并返回这些数字的位置组成的数组。例如,在单元格A2中,将返回数组:

{14,15,13,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!}

正如你所看到的,它返回10个值,每个值代表该数字在单元格中的位置。由于数字0在单元格中的第14个位置,因此数组中的第一个值是14;由于3不在单元格中,因此返回#VALUE!。

同样,如果单元格中存在某个数字,则查找并返回一个代表该数字位置的数字,如果不存在,则返回值错误。

然后,在IFERROR中放置该公式中,这样就可以消除数组中的值错误值。此时,IFERROR公式在单元格中找到数字时将返回一个数字,如果找不到数字,则将返回该单元格中字符串的长度(使用LEN公式完成)。

接着,使用了MIN函数来找出数组中的最小值,即该单元格中数字的起始位置。例如,在单元格A2中,它会提供值13,这意味着该单元格中的文本部分在第12个字符处结束,数字从第13个字符开始。

现在,知道了数字在单元格中的起始位置,接着需要知道需要从左侧删除多少个字符。为此,使用LEN函数来计算单元格中字符串的总长度,并从中减去刚才得到的结果,这样就可以知道左侧有多少个文本字符。

最后,使用了RIGHT函数从右侧提取所有数字,这意味着左侧的所有文本字符都被删除了。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

0 人点赞