Excel从字符串中提取数字
单元格中的数据包含文本和数字(如)。如何通过公式提取单元格中的数字?
先不看答案,自己试试。
公式思维
首先找到字符串文本中第一个数字出现的位置,然后从这个位置取出所有数据。
公式
数组公式如下:
=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真;真;真;真;假;假;假;假;真} .
使用MATCH函数查找数组中第一个FALSE出现的位置,即
MATCH(FALSE,ISERROR(1*MID(A1,ROW(1:10),1)),0)
获取值6,即字符串中的第六个字符开始以数字出现。这时,公式是
=1 * MID(“excel 2017”,6,256)
也就是说,从字符串“Excel2017”的第6位提取256个字符数据,从而取出字符“2017”,然后乘以1以转换成数字。
总结
利用MID功能,可以实现数据分离。
数字与文本相乘将产生一个错误值。
MATCH函数精确地找到指定值的第一个匹配项。
将其与数字形式的文本相乘,并将其转换为数字。
下一个通知
Excel练习18:获取每行的第一个非空单元格。
如何用公式获取每行第一个非空单元格?例如下图所示的工作表中,要求根据上半部分的表格,用公式求出各个项目的开工日期。
也就是说,需要对应于单元格区域B2:G6的每行中的第一个非空单元格的B1:G1中的日期。
版权声明:Excel从字符串中提取数字是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。