Excel公式-提取字符串中首次出现的数值

一、提取公式

=LOOKUP(9^9,--MID(B2,MIN(FIND({1,2,3,4,5,6,7,8,9,0},B2&5^19)),ROW($1:$99)))

二、分析过程
1、需求如下:提取如下记录中采访人物的年龄
在这里插入图片描述
2、提取思路
1)我们需要提取出“自我介绍”列的数值信息,即年龄信息;
2)首先获取数字首次出现的位置:
在这里插入图片描述
公式:=MIN(FIND({1,2,3,4,5,6,7,8,9,0},B2&5^19))
其中5^19的值为19073486328125,该值中同时包含了从0-9的10个阿拉伯数字,B2值与5^19合并是为了确保此处FIND()函数不报错。
3)我们获取了数字首次出现的位置,接下来从数字首次出现的位置使用MID()函数依次提取1,2,3,4…99位的数据。
在这里插入图片描述
公式:=MID(B2,MIN(FIND({1,2,3,4,5,6,7,8,9,0},B2&5^19)),ROW($1:$99))
这个部分的计算得到一个内存数组:
{‘2’;‘22’;‘22岁’;‘22岁’,;…;‘22岁’,‘现在是一名学生,喜欢唱歌和跳舞’;#VALUE!;…;#VALUE!}
4)通过减负运算,将内存数组里的内容转为数值。
在这里插入图片描述
公式:=–MID(B2,MIN(FIND({1,2,3,4,5,6,7,8,9,0},B2&5^19)),ROW($1:$99))
转化后的内存数组如下所示:
{2;22;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;…;#VALUE!}
5)最后使用lookup()函数提取该数组中最后出现的数值,即可提取年龄信息,其中lookup函数默认不处理#VALUE!值。
在这里插入图片描述
注:lookup((9^9,A:A),用于提取A列最后出现的值。语法如下:
LOOKUP(一个比查询范围同类数据都大的值,单列或单行查询范围,单列或单行结果范围),lookup((9^9,A:A)等同于lookup((9^9,A:A,A:A)

最终,提取效果如下:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值