分享

Excel公式练习17:提取字符串中的数字

 zhangshoupen 2017-10-12

本次的练习是:单元格中的数据包含文本和数字(如图1),如何使用公式提取出该单元格中的数字?

 图1

 

先不看答案,自已动手试一试。



 

公式思路

先找到字符串文本中第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中的日期。

 


 

本文属原创文章,转载请联系我(xhdsxfjy@163.com)或者注明出处。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多