Excel提取字符串中的数字
单元格中的数据包含文本和数字(如),如何使用公式提取出该单元格中的数字?
先不看答案,自已动手试一试。
公式思路
先找到字符串文本中第1个数字出现的位置,然后取出从该位置起的全部数据。
公式
数组公式如下:
=1*MID(A1,MATCH(FALSE,ISERROR(1*MID(A1,ROW(1:10),1)),0),255)
公式解析
首先,公式:
MID(A1,ROW(1:10),1)
将单元格A1中的数据转换成一个数组:{“E”;”x”;”c”;”e”;”l”;”2”;”0”;”1”;”7”;””}。
我们假设单元格A1中的数据长度不会超过10个。
然后,将数组乘以1,即公式:
1*MID(A1,ROW(1:10),1)
得到数组{#VALUE!; #VALUE!; #VALUE!; #VALUE!; #VALUE!;2;0;1;7; #VALUE!}。
接下来,使用IFERROR函数,若数组中是错误值则转换成TRUE,否则为FALSE,即公式:
ISERROR(1*MID(A1,ROW(1:10),1))
得到数组{TRUE; TRUE; TRUE; TRUE; TRUE;FALSE; FALSE; FALSE; FALSE;TRUE}。
使用MATCH函数,查找数组中第一个FALSE出现的位置,即
MATCH(FALSE,ISERROR(1*MID(A1,ROW(1:10),1)),0)
得到值6,即字符串中的第6个字符开始出现数字。此时的公式为
=1*MID(“Excel2017”,6,256)
即从字符串“Excel2017”的第6位开始提取256个字符数据,从而取出字符“2017”,然后将其乘以1,转换成数字。
小结
使用MID函数,可以实现数据分离。
数字与文本相乘将产生错误值。
MATCH函数精确查找指定值第1次出现的位置。
数字与数字形式的文本相乘,将其转换为数字。
下期预告
Excel公式练习18:获取每行中第一个非空单元格
如何使用公式获取每行中第一个非空单元格?例如下图所示工作表,要求使用公式根据上半部分的表格求各项目的开工日期。
也就是说,要求出单元格区域B2:G6的每行中第一个非空单元格对应的B1:G1中的日期。
最新推荐
-
AIDA64怎么设置游戏帧数显示
AIDA64怎么设置游戏帧数显示?AIDA64是一款能够测试软硬件系统信息的工具,详细的显示出电脑的每一个 […]
-
中望cad捕捉点怎么设置 中望cad捕捉点设置
中望cad捕捉点怎么设置?中望cad是一款图纸制作软件,能够进行二维制图和三维制图的图形设计软件,在日常的 […]
-
夜神模拟器设置扬声器怎么设置 电脑夜神模拟器没有声音
夜神模拟器设置扬声器怎么设置?夜神模拟器采用类手机界面视觉设计的PC端桌面软件,采用多内核技术,具有同类模 […]
-
wps如何设置超链接到另一页 wps超链接到另一个表格sheet
wps如何设置超链接到另一页?wps是一款强大的办公软件,支持用户对表格或者文档进行自定义的编辑,同时也可 […]
-
mac os显示器怎么快速黑屏
mac os系统想要快速关闭显示器使其黑屏,也就是进入睡眠状态,该怎么进入呢?有两种方法,详细请看下文介绍。
-
excel如何制作文件夹侧标签 excel做文件夹侧面标签
excel如何制作文件夹侧标签?excel表格不止方便用户对数据进行编辑操作,同样支持用户进行一些文字图形 […]