当一个混合文本中包含了数字和中文字符,如何提取当中的数字,是大家经常会遇到的问题。
在excel2016及以上版本更新了快速填充功能,使用者可以通过快速填充来提取混合文本中的数字,操作非常简单快捷。
在此之前,通常是利用公式来提取,这里作者将利用lookup函数公式,来分别提取混合文本中开头的数字、末尾的数字和任意位置的数字。通过这几个公式的编写,能够发现lookup函数与其他函数组合应用时的精彩之处,也为灵活使用函数公式提供一些“灵感”。

下面直接进入操作。
1、提取混合文本开头的数字

lookup函数本身是用来引用单元格区域中的数据,而不是单元格内的数据,但在这样一个场景中,我们的思路则是要通过lookup函数的语法表达,来设置能符合其运算逻辑的参数值。
在前面的函数用法讲解中,我们知道了lookup函数1和0除的用法,作者继续使用1作为它的查找值。
然后通过函数将单元格文本进行分割,组成一个新的列表。
作者先上公式:
=-LOOKUP(1,-LEFT(A2,ROW($1:$99)))

left函数是从左侧提取文本指定长度的字符串。
其表达式为:=left(文本,字符长度)
如“-LEFT(A5,ROW($1:$99))”这个表达式嵌套了row函数,row函数引用的是一个数组,得到结果也是一个数组,它作为left函数的第2参数,表示left函数将从左侧提起1个字符,一直到99个字符。
当从左侧提取1个字符时,结果为3,提取2个字符,结果为35,当提取3个字符时,则等于357,这时再继续提取,一直到99个字符,但文本字符总数才不到10个,超过总数时提取的结果会显示为错误值。
于是从3、35、357、357美……所有提取出来的字符串会组成一个列表,这个列表又作为lookup函数的第2参数查找区域。