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中的日期。
最新推荐
-
Win11定位服务怎么关闭 win11关闭定位服务
Win11定位服务怎么关闭?在使用win11系统的过程中,通过定位服务,用户可以获得更精准的位置信息,可以 […]
-
printspooler服务怎么开启win11 如何启动print spooler服务
printspooler服务怎么开启win11?print spooler服务是关联打印机的系统服务项,实 […]
-
win11定位服务怎么打开 win11定位服务被禁用了
win11定位服务怎么打开?在使用win11系统的过程中,通过定位服务,可以获得更精准的位置信息,可以方便 […]
-
mac磁盘分区怎么分 mac给硬盘分区
mac磁盘分区怎么分?在日常使用电脑的过程中,通过对电脑进行分区规划,可以方便用户查找储存对应的文件数据, […]
-
win7打印机服务怎么开启 开启printspooler服务的步骤
win7打印机服务怎么开启?Print Spooler是打印后台处理服务,如果此服务被禁用,任何依赖于它的 […]
-
windows7怎样设置禁止随便安装软件 win7设置禁止安装软件
windows7怎样设置禁止随便安装软件?很多用户都会在电脑上进行第三方软件应用的安装,但是也带来了不安全 […]
热门文章
Win11定位服务怎么关闭 win11关闭定位服务
2printspooler服务怎么开启win11 如何启动print spooler服务
3win11定位服务怎么打开 win11定位服务被禁用了
4mac磁盘分区怎么分 mac给硬盘分区
5win7打印机服务怎么开启 开启printspooler服务的步骤
6windows7怎样设置禁止随便安装软件 win7设置禁止安装软件
7win7如何设置局域网工作机组 win7局域网共享设置工作组
8win7如何添加自带游戏 win7自带游戏怎么恢复
9win11用户账户控制怎么取消 win11关闭uac方法
10win10怎么查看网口是百兆千兆还是千兆 电脑网口是百兆还是千兆
随机推荐
专题工具排名 更多+