首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

EXCEL中如何使用VLOOKUP函数提取单元格字符串中的数值

如何使用VLOOKUP提取单元格字符串中的数值

在用EXCEL进行数据处理时,有时会遇到下面的数据,单元格有数字、文字和字符,还要对数字进行计算,如果数据量少还可以逐渐复制出来处理,但如果有成千上万行数据需要处理,就要用其他办法了。

本文今天介绍了一种方法:如何用VLOOKUP来提取字符串中的数字。

在总价单元格边上增加两列辅助列,用来提取单价和数量:

然后在G2单元格中输入数组公式:

=VLOOKUP(9^9,MID(C2,MIN(IF(ISNUMBER(--MID(C2,ROW($1:$99),1)),ROW($1:$99))),ROW($1:$99))*,2),按CTRL + SHIFT + ENTER结束输入。

这是一个多层函数嵌套的数组公式,使用了VLOOKUP、MID、IF、MIN、ISNUMBER、ROW等函数,下面从VLOOKUP的4个参数来分析一下这个公式的机理。

(1) 参数1:9^9,9^9 = 387420489,这是一个较大的数值,用来进行查找、数值比较等,当然也可以用其他比较大的数值来代替9^9。

(2) 参数2:MID(C2,MIN(IF(ISNUMBER(--MID(C2,ROW($1:$99),1)),ROW($1:$99))),ROW($1:$99))*,这个是查找区域。

其中使用了以下函数:

MID()进行文本提取;

MIN()表示最小值,从小到大排序;

ISNUMBWR()用来判断值是否为数值;

ROW()返回行号,$1:$99表示从第1行到第99行;

"- -"这代表恢复到正常格式,如果是日期,就变成日期格式,如果是数值,就变成数值格式。

参数2构造了一个2列、99行的表格,用数组表示出来如下图所示。

可以利用F9来逐个查看参数中的返回值,这样更有利于理解函数原理。

(3) 参数3:2,即查找第2列

(4) 参数4:省略,参数4如果省略,默认为模糊查找,返回一个最接近于9^9的值,其实也是就字符串中的数值(本例中的数值均小于9^9)。

将G2向下、向右进行拖拉填充,提取相应的数值,就可以方便计算出物品的总价了。

公式有点复杂,也可以收藏起来直接套用。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180304A0IOLT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券