打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
三种方法提供了各不相同的解题思路,没有优劣之分,掌握后都是你的套路!


送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!

【置顶公众号】或者【设为星标】及时接收更新不迷路



小伙伴们好,今天要和大家分享一道关于数字提取的问题。今天要和大家分享的三种解题思路,对于我们今后处理相同类型题目时有很高的指导意义。

题目是这样子的。要求非常简单。



从左侧的源数据中将连续的5位数字提取出来。朋友们有什么好办法吗?


01

既然是提取一个5位数,那么我们就直接在源数据中查找5位数。查找到后就能够提取出来。



在单元格B2中输入公式“=MIN(IF(ISNUMBER(FIND(ROW($10000:$99999),A2)),ROW($10000:$99999)))”,三键回车并向下拖曳即可。

思路:

  • FIND(ROW($10000:$99999),A2)部分,在源数据中查找所有的5位数,看看哪些可以查找到

  • ISNUMBER(FIND(ROW($10000:$99999),A2))部分,对于查找不到的数字,利用ISNUMBER函数将它们转变FALSE

  • 利用IF函数来返回那些查找到的5位数字

  • 最用套用一个MIN函数,返回正确结果

这个公式的最大亮点在于,抛开数字提取的思路,直接查找题目要求的5位数。这个是本题的最大亮点。


02

正常情况下,我们会考虑用常规的方法来解这道题目。



在单元格B2中输入公式“=LOOKUP(9^9,--MID(A2&"s",ROW($1:$50),5))”并向下拖曳即可。

思路:

  • 既然是提取5位数,那么我们就从源数据中的每一个字符开始,提取一个长度为5的字符串,结果是一个数字和文本组成的内存数组

  • 减负运算后将文本型数字转为数字型数字,将文本转换为错误值

  • 利用LOOKUP函数提取正确答案

在这里源数据后面要加上一个“s”(或者任意一个文本)的目的是,源数据中字符串最后是数字时,将会提取出来若干长度小于5的数字。加上一个“s”将提取出来的长度小于5的数字都转换为文本


03

最后,在给大家一个小彩蛋。在以前的帖子中我也曾经做过介绍,利用VLOOKUP函数也能够完成这道题目。



在单元格B2中输入公式“=VLOOKUP(,MID(SUBSTITUTE(A2," ",""),ROW($1:$50),5)*{0,1},2,FALSE)”,三键回车并向下拖曳。

思路:

  • 总体上讲,MID函数从每一个字符依次提取长度为5的字符串后,再分别乘以{0,1},形成一个两列的内存数组。若提取出来的5个字符恰好是五位数时,内存数组中第一列则返回0,第二列在返回该5位数字;其余非数字部分则返回错误值。利用VLOOKUP函数查找并返回正确答案。

要注意,在解题时要将源数据中的空格替换掉。朋友们你们知道这是为什么呢?欢迎给我私信留言!


好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

推荐阅读
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
EXCEL中如何使用VLOOKUP函数提取单元格字符串中的数值?
EXCEL中如何使用VLOOKUP函数提取单元格字符串中的数值
为什么你不会写函数嵌套公式?不是脑壳笨,而是不懂这个简单方法
Excel高手数字提取
VLOOKUP进阶用法:一对多匹配查询
Excel模糊查找学会这5个方法,工作简直开了挂!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服