Excel提取字符串中的数字

单元格中的数据包含文本和数字(如) , 如何使用公式提取出该单元格中的数字?

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)
【Excel提取字符串中的数字】得到值6 , 即字符串中的第6个字符开始出现数字 。此时的公式为
=1*MID(“Excel2017”,6,256)
即从字符串“Excel2017”的第6位开始提取256个字符数据 , 从而取出字符“2017” , 然后将其乘以1 , 转换成数字 。
小结
使用MID函数 , 可以实现数据分离 。
数字与文本相乘将产生错误值 。
MATCH函数精确查找指定值第1次出现的位置 。
数字与数字形式的文本相乘 , 将其转换为数字 。
下期预告
Excel公式练习18:获取每行中第一个非空单元格
如何使用公式获取每行中第一个非空单元格?例如下图所示工作表 , 要求使用公式根据上半部分的表格求各项目的开工日期 。
Excel提取字符串中的数字

文章插图
也就是说 , 要求出单元格区域B2:G6的每行中第一个非空单元格对应的B1:G1中的日期 。

    推荐阅读