Excel 公式:从文本中提取数字

大家好啊,今天和大家分享3个从文本中提取数字的公式。

首先看一下实例图片,在一串文本中,数字有可能在文本的开始处、结尾处或中间。

现在针对这三种情况,给出三种提取数字公式。

数字在文本开始处

这种情况提取数字相对简单些,以下是通用公式:

=-LOOKUP(0,-LEFT(要提取数字的单元格,ROW($1:$15)))

公式中,ROW($1:$15)部分数字 15 表示想要提取的数字的最长长度,可以根据实际需求调整。

本例中,实际的公式如下:

=-LOOKUP(0,-LEFT(B3,ROW($1:$15)))

 

 

数字在文本结尾处

类似上一公式,这种情况的通用公式:

=-LOOKUP(0,-RIGHT(要提取数字的单元格,ROW($1:$15)))

公式中,ROW($1:$15)部分数字 15 表示想要提取的数字的最长长度,可以根据实际需求调整。

本例中,实际的公式如下:

=-LOOKUP(0,-RIGHT(B3,ROW($1:$15)))

 

 

数字在文本中间

这种情况相对复杂些,但是思路是一致的,以下是通用公式:

=-LOOKUP(1,-RIGHT(LEFT(要提取数字的单元格,LOOKUP(10,--MID(要提取数字的单元格,ROW($1:$20),1),ROW($1:$18))),ROW($1:$20)))

公式中,ROW($1:$20)部分数字 20 表示想要提取的数字的单元格长度,可以根据实际需求调整。

本例中,实际的公式如下:

=-LOOKUP(1,-RIGHT(LEFT(B3,LOOKUP(10,--MID(B3,ROW($1:$20),1),ROW($1:$20))),ROW($1:$20)))

 

 

通用公式

大家可能已经思考了,第三个公式适用于前两种情况吗?答案是“肯定适用!”。开始和结尾都是特殊的中间情况。

但是如果明确数字在开始处或结尾处,使用对应的公式会更简洁一些。

有问题欢迎在留言处交流。

 

转载注明:文章转载自「懒人Excel - lanrenexcel.com
本文标题:Excel 公式:从文本中提取数字

You may also like...

22 评论
最新
最久 最赞
内联反馈
查看所有评论
楠楠*
29 天 前

这公式好长啊

53ddd
1 月 前

用Ctrl+E更快

wq123
2 月 前

谢谢分享,然后个人关于上述公式存在一些疑问,还有关于数字穿插在文本中提取的个人见解方法已在懒人Excel公众号留言,期待您的回复。

hopper
3 月 前

-LOOKUP(0,-LEFT(B3,ROW($1:$15))),请问函数前为什么要加负号啊,不加的话确实函数就计算错误了

HawnHan
1 月 前
回复给  hopper

对公式逐步进行分解你就明白了。首先left,right,mid这三个公式取出来的值都是文本,在这之前+负号相当于文本×-1,那不是纯数字的内容会变成错误值,lookup在查找不到准确对应值时会返回小于第一参数的内容中的最小值,最后再用负号将其转为正数

林恩223
5 月 前

你好,我对于Excel也有一些总结,特别是数据处理这一块,我可以分享下这些知识,但是平台有提供这个入口吗

提乐乎
5 月 前

lookup函数找数值0,{-1;-12;-123}中小于或等于0的最大值不是-1么?

提乐乎
5 月 前
回复给  懒人Excel

厉害,明白了,谢谢指导

路人甲
5 月 前

great!

我是松子呀
7 月 前

文中的取中间的数字那里,公式里面的“1”是什么意思啊?

小白装大佬
7 月 前

通俗易懂的方法:=MAX(IFERROR(负号负号MID(A1,ROW($1:$20),COLUMN(A:L)),0))

最后编辑于 7 月 前 @ 小白装大佬
15761635831
7 月 前

我试了一下该公式只用于连续的几个数字,数字穿插在文本中就不能全部提取了,请问下小编有更高级的用法吗?

学习的路人
2 月 前
回复给  15761635831

=–TEXTJOIN(“”,1,IFERROR(–MID(目标单元格,ROW(INDIRECT(“A1:A”&LEN(目标单元格))),1),””))数组

提乐乎
5 月 前
回复给  懒人Excel

ABC123DE45FGH123ABC

柴艺艺
5 月 前
回复给  提乐乎

嘿嘿,同问

索斯特
8 月 前

有一个不成熟的建议,我是今天刚来的新访客,教程上读起来是理解的,但是关于lookup函数,其实我是有点懵的,所以,如果可以的话,能不能在lookup函数上加上一个跳转链接,让我这种不熟的可以去熟悉下,同时可以更加深入全面了解函数的具体使用方法。(拜托了,望采纳)
还有,真的非常感谢你的分享!

22
0
希望看到您的想法,请发表评论。x
()
x