要从Excel单元格的文本中提取数字,不要一上来就套用复杂的嵌套公式。关键在于先判断数字在文本中的具体位置——是在开头、末尾,还是夹在中间,不同位置的提取公式差异很大。只有当数字位置毫无规律时,才需要借助LOOKUP、MID、ROW等函数组合进行通用提取。下面按场景逐一说明。
数字在文本开头,用LEFT配合LOOKUP
如果所有数字都位于文本最前面,例如“123ABC”“123-ABC”这类格式,直接在结果单元格输入左侧提取公式即可。核心逻辑很简单:从左向右逐个截取字符,让Excel自动识别出能转换为数字的最长连续片段。
推荐直接使用这个公式:=LOOKUP(0,-LEFT(B3,ROW($1:$15)))。其中B3是存放原始文本的单元格,ROW($1:$15)表示最多尝试截取15位长度;如果待提取的数字可能超过15位,只需将这里的15调大即可。
数字在文本结尾,用RIGHT配合LOOKUP
如果数字全部位于文本末尾,例如“ABC123”“ABC-123”,只需将截取函数换成RIGHT,从最右侧开始往回查找数字即可。
对应公式:=LOOKUP(0,-RIGHT(B3,ROW($1:$15)))。这种写法专门适配数字固定在尾部的场景,比如编号后缀、订单尾号、姓名后面的分数等,都可以先用这个公式测试,通常都能成功提取。
数字在中间,用LEFT、RIGHT、MID组合
接下来处理数字夹在两段文字中间的情况,例如“ABC123DEF”这种格式,仅靠LEFT或RIGHT无法得到正确结果。需要先定位数字起始位置,再截取出连续的整段数字。
这一场景下的公式看起来较长,核心逻辑是用MID逐个读取每个字符,再借助LOOKUP判断哪段内容属于合法数字。公式虽然复杂,但实际作用只有一个:把隐藏在文字中间的连续数字段单独提取出来。
位置不固定,用通用公式处理
如果同一列文本中格式混杂,既有“ABC123”,又有“123ABC”,还有“ABC123DEF”,数字位置完全不固定,直接使用通用公式最高效。下面这个公式无论数字在开头、末尾还是中间,都能将对应的数字部分提取出来。

通用公式的常用写法:=LOOKUP(1,-MID(B3,LOOKUP(10,--MID(B3,ROW($1:$20),1),ROW($1:$20)),ROW($1:$20)))。如果只需提取整数部分,这个逻辑完全够用;若想保留小数点,则需要将小数点也纳入判断规则,或者直接使用新版Excel的REGEXEXTRACT函数。
如果你使用的是支持正则函数的新版Microsoft 365,直接用REGEXEXTRACT提取数字更简洁,匹配连续数字、小数、手机号等内容都更方便。但很多旧版Excel和普通版本的WPS表格不包含该函数,日常需兼顾兼容性时,LOOKUP、MID、LEFT、RIGHT等组合写法依然是最稳妥的方案。
最后记住选择公式的优先级:数字在最左边用LEFT相关写法,数字在最右边用RIGHT相关写法,数字位置杂乱再用通用公式。公式运行后,如果单元格左上角出现绿色小三角,说明提取结果被识别为文本,只需乘以1、添加双负号或直接修改单元格格式,即可转为正常的数值格式。
