打开APP
userphoto
未登录

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

开通VIP
VLOOKUP()数组妙用,提取文本中的数字

老墨说Excel内训预约~

作中,有的人很喜欢用Word来处理表单(如下图),当然这无所谓对错,在表格填写的时候也会经常将单位等与价格数字一起填写,这样方便是很方便,但却对后面的数据处理很不方便,即便将表格复制到Excel中,你还得费老半天把数字和单位分开。
好了,老墨也不绕弯子了,今天要分享的事,用VLOOKUP()函数如何快速实现文本(将数字和单位写在一起就是文本)中的数字提取出来。
首先,我们将Word入库单中的信息拷贝到Excel中,上表就是拷贝到Excel中的,其中标颜色部分区域(单价/单位、数量、总价)就是需要提取数字的文本区域。

最终要实现的是下表中右侧三列效果。
表中J、K列公式为:
{=VLOOKUP(9E 307,MID(E2,MIN(IF(ISNUMBER(--MID(E2,ROW($1:$99),1)),ROW($1:$99))),ROW($1:$99))*{1,1},2)}
它是一个多层函数嵌套的数组公式,函数包括:VLOOKUP()、MID()、MIN()、ISNUMBER()、ROW(),看起来挺复杂,下面我们就来分析一下这个公式提取过程。
VLOOKUP()函数有4个参数,我们就从这4个参数进行分析:
1)参数1:9E 307,属于科学记数法,指9后面有307个0,因为此数太大,所以一般指最大的数。9E 307经常被用来作为查找、数值比较等。
2)参数2:MID(E2,MIN(IF(ISNUMBER(--MID(E2,ROW($1:$99),1)),ROW($1:$99))),ROW($1:$99))*{1,1},这是公式的核心部分,即为查找区域,什么意思呢,就是通过这个部分架构一个VLOOKUP()可以查找的表格区域。
其中:
——MID()是文本提取函数;
——MIN()是表示最小值,从小到大排序组表;
——ISNUMBER(),是用来判断值是否为数值;
——ROW()表示行号,$1:$99,表示表格区域从第1行到第99行。
直观点讲,参数2部分架构了一张有2列的表,这张表有99行,第一列是序号,第2列是E2单元格中数值部分分拆成列,然后通过数组公式在一个单元格中实现查找引用。
3)参数3,2,即为查找第2列。
4)参数4,0,其实被省略了。
下面是动图效果,当我们改变前面数值,可以看见后面快速实现提取。
数组公式本身就很复杂,也有点晕,不过没关系,函数功能本身就是运用它的功能,如果能理解期过程最好,不理解就拿来用嘛。
(END)

表哥表姐:
——如果觉得老墨的文章有用,请帮忙转发分享,让更多的人知道,独乐了不如众乐乐!
 
学好Excel,做个好表哥好表姐~
 
老墨说Excel
微信号:moguho_e
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
三种方法提供了各不相同的解题思路,没有优劣之分,掌握后都是你的套路!
EXCEL中如何使用VLOOKUP函数提取单元格字符串中的数值
用函数在Excel中从文本字符串提取数字
vlookup进阶用法,通配符的运用
从含有数字的文本字符串中提取出数字
EXCEL中如何使用VLOOKUP函数提取单元格字符串中的数值?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服